预测SMO中的名义价值

时间:2012-05-23 19:53:09

标签: machine-learning weka svm

我正在使用SMO对名义值进行分类。构建分类器后,我需要预测类,但classifyInstance(weka.classifiers.Classifier.classifyInstance)只返回双数。

如何使用双数来获得原始的名义等级?

1 个答案:

答案 0 :(得分:1)

假设您在Java代码中调用weka类,您需要在内部知道,Weka将所有值作为双精度处理。

创建Attribute时,会向其传递一个字符串数组,列出可能的名义值。分类返回的double是原始数组中所选属性的索引。所以如果你的代码看起来像这样:

String[] attributeValues = {"a", "b", "c"};
Attribute a = new Attribute("attributeName", attributeValues);

并且classifyInstance()返回2,然后它选择的类将是attributeValues[2]或“c”。