【发布时间】:2015-10-03 00:34:33
【问题描述】:
我在 Weka Explorer 中创建了一个模型,并将其保存为 .model 文件
首先,我从我的 Java 代码中加载保存的模型
Classifier cls = null;
try {
cls = (Classifier) weka.core.SerializationHelper.read("Model.model");
} catch (Exception e1) {
e1.printStackTrace();
}
然后,我从 .arff 文件中读取我想要分类的实例
BufferedReader reader = new BufferedReader(new FileReader(file));
ArffReader arff = new ArffReader(reader);
Instances data = arff.getData();
该文件仅包含一个实例。类属性的值为'?'。 通过下面的代码,我尝试对实例进行分类。
data.setClassIndex(data.numAttributes()-1);
try {
double value=cls.classifyInstance(data.firstInstance());
String prediction=data.classAttribute().value((int)value);
System.out.println("The predicted value of instance "+
Integer.toString(s1)+
": "+prediction);
} catch (Exception e) {
e.printStackTrace();
}
这样是对的吗?
【问题讨论】:
-
你检查过weka网站上的例子吗? weka.wikispaces.com/Use+WEKA+in+your+Java+code
标签: java machine-learning classification weka