0

我正在使用 SMO 对标称值进行分类。在我构建分类器之后,我需要预测类,但是分类实例(weka.classifiers.Classifier.classifyInstance)只返回双精度数。

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

4

1 回答 1

1

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

当您创建 时Attribute,您向它传递一个字符串数组,其中列出了可能的标称值。该double分类返回的是原始数组中所选属性的索引。因此,如果您的代码如下所示:

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

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

于 2012-05-25T17:21:42.653 回答