我必须在我的java代码中使用WEKA进行预测。基本上我必须研究给定的代码并重用它。
testdata.setClassIndex(data.numAttributes() - 1);
我无法理解上述内容的含义。 什么是班级指数?
testdata
和data
是Intances对象。
答案 0 :(得分:9)
如概述here所述,setClassIndex用于定义将表示类的属性(用于预测目的)。鉴于索引从零开始,data.numAttributes() - 1表示testdata集的最后一个属性。
希望这有帮助!
答案 1 :(得分:3)
当您使用分类器将一组数据分类为某些类值时,您将提供一个具有数据属性的实例和一个具有类值的属性。例如,假设您将电子邮件设置为数据,则必须将这些电子邮件分类为垃圾邮件/非垃圾邮件。因此,您的class属性有两个类值(垃圾邮件,非垃圾邮件)。
通常,class属性add作为实例的最后一个属性(不是必须的)。因此,您必须指明分类器哪个属性是类属性,哪个属性是其他属性。所以你提到的那条线做了这个工作。指示数据实例对象的类索引是什么。
如果您需要更多解释,请在此处发布您的代码。欢呼声..!
答案 2 :(得分:0)
类索引指示用于分类的目标属性。默认情况下,在ARFF文件中,它是最后一个属性,它解释了为什么将其设置为numAttributes-1。