J48分类器 - python-weka-wrapper - 选择Class属性

时间:2015-07-30 02:14:29

标签: java python machine-learning weka

我正在尝试在数据集上应用j48分类器,但我不了解如何实际选择正确的属性作为类。 我找到了一个名为class_is_last()的方法,它将最后一个属性设置为类,但如果我想选择名为'name'的属性作为类,该怎么办?

jvm.start()
loader = Loader(classname="weka.core.converters.ArffLoader")
dataweka = loader.load_file("enumeratedremovedtest-arff.arff")
dataarff = arff.load(open('enumeratedremovedtest-arff.arff', 'rb'))

from weka.classifiers import Classifier
dataweka.class_is_last()
cls = Classifier(classname="weka.classifiers.trees.J48", options=["-C","0.25", "-B", "-M", "2"])
print dataweka.class_attribute
cls.build_classifier(dataweka)

print(cls)

jvm.stop()

已导入所有必需的模块,这将按预期工作,并使用列表中的最后一个属性作为类。

2 个答案:

答案 0 :(得分:0)

您的问题是如何在Weka中选择类索引。首先,让我们看看here中的类索引是什么。 我的建议是使用函数setClassIndex(int)

答案 1 :(得分:0)

让我们假设属性“名称”位于数据集的第5列中,您可以将类设置为:

label = 5    
dataweka.class_index = label - 1