2014-11-04 91 views
6

我必須在我的java代碼中使用WEKA進行預測。基本上我必須研究給定的代碼並重用它。什麼是WEKA中的類別索引?

testdata.setClassIndex(data.numAttributes() - 1);

我無法理解上面的線表示。 什麼是類索引?

testdatadata是Intances對象。

回答

8

如上所述here,setClassIndex用於定義將表示類的屬性(用於預測目的)。假設索引從零開始,data.numAttributes() - 1表示testdata集的最後一個屬性。

希望這有助於!

+0

感謝您的回覆。雖然我對此還不是很清楚。假設我的訓練數據集和我的測試數據中都有A,B,C,D屬性,我需要預測屬性D(以及測試DataSet中所有實例的相應A,B,C值)。我如何選擇'班級指數'。它可以是任何屬性?是否應該根據某些財產給予其中一個優先? – GiriB 2014-11-06 17:23:54

+0

類索引指示用於分類的目標屬性。默認情況下,在ARFF文件中,它是最後一個屬性,這解釋了爲什麼將其設置爲numAttributes-1。 – 2014-11-07 05:01:46

3

當您使用分類器將一組數據分類爲某些類值時,您將給出一個具有數據屬性和具有該類值的屬性的實例。例如,假設您將電子郵件設置爲數據,則必須將這些電子郵件歸類爲垃圾郵件/非垃圾郵件。所以你的類屬性有兩個類值(垃圾郵件,非垃圾郵件)。

通常,類屬性添加爲實例的最後一個屬性(不是必須的)。所以你必須指出分類器哪個屬性是類屬性,哪些屬性是其他屬性。所以你提到的這一行是做這個工作的。指示什麼是您的數據實例對象的類索引。

如果你想要更多的解釋,請在這裏發佈你的代碼。乾杯..!

0

類索引指示用於分類的目標屬性。默認情況下,在ARFF文件中,它是最後一個屬性,這解釋了爲什麼將其設置爲numAttributes-1。