2016-12-04 89 views
-1

我無法獲得準確性,因爲我提供的每個數據集都爲我應用的每個分類算法提供了100%的準確性。我的數據集是10人。 它爲樸素貝葉斯,J48,JRip分類算法提供了相同的準確度。weka爲每個數據集提供100%正確分類的實例

enter image description here

+----+-------+----+----+----+----+----+-----+----+------+-------+-------+-------+ 
| id | name | q1 | q2 | q3 | m1 | m2 | tut | fl | proj | fexam | total | grade | 
+----+-------+----+----+----+----+----+-----+----+------+-------+-------+-------+ 
| 1 | abv | 5 | 5 | 5 | 13 | 13 | 4 | 8 | 7 | 40 | 100 | p  | 
| 2 | ca | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 40 | 48 | f  | 
| 3 | ga | 4 | 2 | 3 | 5 | 10 | 4 | 5 | 6 | 20 | 59 | f  | 
| 4 | ui | 5 | 4 | 4 | 12 | 13 | 3 | 7 | 7 | 39 | 94 | p  | 
| 5 | pa | 4 | 1 | 1 | 4 | 3 | 2 | 4 | 5 | 22 | 46 | f  | 
| 6 | la | 2 | 3 | 1 | 1 | 2 | 0 | 4 | 2 | 11 | 26 | f  | 
| 7 | ka | 5 | 4 | 1 | 3 | 3 | 1 | 6 | 4 | 24 | 51 | f  | 
| 8 | ma | 5 | 3 | 3 | 9 | 8 | 4 | 8 | 0 | 20 | 60 | p  | 
| 9 | ash | 2 | 5 | 5 | 11 | 12 | 3 | 7 | 6 | 30 | 81 | p  | 
| 10 | opo | 4 | 2 | 1 | 13 | 1 | 3 | 7 | 3 | 35 | 69 | p  | 
+----+-------+----+----+----+----+----+-----+----+------+-------+-------+-------+ 

回答

0

確保不包括任何唯一標識符列

另外不包括total

很可能,分類器瞭解到「名稱」是一個很好的預測器,並且/或者您需要總共通過total > 59點。 因爲這個原因,我建議你甚至至少停下一次練習 - 有些分類器仍然會知道個別點的總和是必須通過的。

我假設你想知道一個部分是否最能代表傳球,即「如果你在第三部分表現不錯,你很可能會通過」。但要回答這個問題,你需要考慮例如每個問題的點數不同,等等 - 否則,您的預測器將會識別哪個問題具有最多的點...

另外,10是太小的樣本量!

0

您可以從顯示的輸出中看到J48生成的樹只使用變量fl,所以我認爲您沒有@ Anony-Mousse提到的問題。

我注意到您正在對訓練集進行測試(請參閱GUI左上方的「測試選項」單選按鈕)。這幾乎總是高估了準確性。你所看到的是過度配合。相反,使用交叉驗證來更好地估計您對新數據的準確性。只有10個數據點,您應該使用10倍或5個。

0

嘗試在「k次分割」或「百分比分割」上交叉驗證時測試模型。

一般以百分比拆分:訓練集爲2/3數據集,測試集爲1/3。

另外,我覺得你的數據集非常小......在這種情況下有很高的準確性。