2011-08-22 171 views
0

我有一個訓練有素的j48分類器,我想通過它分類一條記錄。所以我決定使用weka.core.instance對象並通過命令對其進行分類:「classifyInstance(record)」/ 但是我在第一步中遇到問題:創建實例。當我想設置屬性的值我得到異常: 線程「主」的異常java.lang.ArrayIndexOutOfBoundsException:-1 我有24屬性,其中第一個是字符串,其他是int。 所以我使用下面的代碼:在java中使用weka.core.instance的問題

Instance record = new Instance(data.size()); 
    for(int i=1; i<data.size(); i++) 
    record.setValue(new Attribute(featuers[i]), Integer.parseInt(data.get(i))); 

數據是包含屬性的值和 featuers是包含屬性的名稱的字符串數組一個數組列表。

非常感謝。

+1

我不知道我的方法來分類單個記錄是否正確。任何其他方法將是有用的和讚賞。 – shohreh

+0

終於我找到了解決方案。對於字符串或名義屬性,首先我們應該將字符串屬性的值添加到數據集,然後嘗試setValue。 – shohreh

+0

shohreh:你可以請你自己回答問題,然後接受答案嗎?另外,如果他們解決了您的問題,則需要接受以前問題的答案。 – Zecas

回答

0

對於字符串或名義屬性,首先我們應該將字符串屬性的值添加到數據集,然後嘗試setValue爲例。