我正在使用SMO对名义值进行分类。构建分类器后,我需要预测类,但classifyInstance(weka.classifiers.Classifier.classifyInstance)只返回双数。
如何使用双数来获得原始的名义等级?
答案 0 :(得分:1)
假设您在Java代码中调用weka类,您需要在内部知道,Weka将所有值作为双精度处理。
创建Attribute
时,会向其传递一个字符串数组,列出可能的名义值。分类返回的double
是原始数组中所选属性的索引。所以如果你的代码看起来像这样:
String[] attributeValues = {"a", "b", "c"};
Attribute a = new Attribute("attributeName", attributeValues);
并且classifyInstance()
返回2,然后它选择的类将是attributeValues[2]
或“c”。