【发布时间】:2015-07-07 13:53:15
【问题描述】:
我正在通过 IKVM 使用 Weka 库,并且我已经使用 Weka explorer 为 SMO 构建了一个模型。现在我想用它来预测代码中未标记的数据(我已经用 J48 成功完成了)。
我这样加载模型:
weka.classifiers.functions.SMO smo = (weka.classifiers.functions.SMO)SerializationHelper.read("C:\\Users\\lorenzov\\Desktop\\weka_files\\Modelli\\SMO_modello.model");
此代码适用于 J48:
weka.core.Instances test = new weka.core.Instances(new java.io.FileReader("C:\\Users\\lorenzov\\Desktop\\weka_files\\test.arff"));
test.setClassIndex(5);
// istanze da etichettare
Instances labeled = new Instances(test);
const int percentSplit = 66;
int trainSize = test.numInstances() * percentSplit / 100;
int testSize = test.numInstances() - trainSize;
weka.classifiers.evaluation.Evaluation eval = new weka.classifiers.evaluation.Evaluation(test);
eval.evaluateModel(cls, test);
eval.evaluateModel(cls, test);
for (int i = 0; i < test.numInstances(); i++)
{
weka.core.Instance currentInst = test.instance(i);
test.instance(i).classValue();
double predictedClass = cls.classifyInstance(currentInst);
labeled.instance(i).setClassValue(predictedClass);
}
如何使用 SMO 模型做到这一点?
【问题讨论】:
标签: c# weka smo prediction