java-使用weka和python加载分类器模型
作者:互联网
我像LINK所述通过weka保存了火车模型
现在,我想在python程序中加载此模型,并尝试在此模型的帮助下测试查询.因此,我有一个名为“ naivebayes.model”的文件作为已保存的朴素贝叶斯多项式可更新分类器.我在python-weka wrapper的帮助下尝试了以下代码.但是我不确定模型是否正在加载
from weka.core.converters import Loader, Saver
import weka.core.jvm as jvm
from weka.classifiers import Classifier, Evaluation
#starting JVM
jvm.start()
classifier = Classifier(classname="weka.classifiers.bayes.NaiveBayesMultinomialUpdateable", options=['-l','naivebayes.model'])
print(classifier)
print (dir(classifier))
#stopping JVM
jvm.stop()
谁能告诉我这样做的礼仪方法.感谢帮助.
解决方法:
-l选项不是由分类器解析的选项,而是由Weka的评估类解析的选项.如果要加载序列化的模型,则必须手动反序列化.您可以按照以下步骤进行操作:
import weka.core.serialization as serialization
from weka.classifiers import Classifier
objects = serialization.read_all("naivebayes.model")
classifier = Classifier(jobject=objects[0])
print(classifier)
上面的代码假定该模型已通过Weka序列化,因为它在文件中存储了两个对象,即模型和数据集头.
上面的代码摘自python-weka-wrapper documentation.
标签:machine-learning,weka,python,java 来源: https://codeday.me/bug/20191121/2051195.html