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