2013-03-18 46 views
2

首先讓我說,我是WEKA新手。Weka - 賦予極化/偏向結果的二元分類

我使用WEKA對於其中某些指標被用來獲取一個是/否答案的情況下的二元分類問題。

爲了舉例說明問題,這裏的混淆矩陣我得到了一組與288分的情況下,與190「是」,並使用98「不」值BayesNet:

a b <-- classified as 
190 0 | a = yes 
98 0 | b = no 

這絕對分離是與案件還有一些其他分類器,但不是全部。也就是說,即使分類器沒有極化到這種程度的值,他們確實對主要類有明確的偏見。例如,這裏的結果與隨機森林:

a b <-- classified as 
164 34 | a = yes 
62 28 | b = no 

我敢肯定,我失去了一些東西很明顯。

+0

那麼你的問題是什麼?占主導地位的類別幾乎是另一類的兩倍,所以是的,所有的分類器都會(也應該)對它有偏見。 – 2013-03-18 14:57:56

+0

結果是否顯示主要類別正常的總偏差?例如,對於BayesNet,我總是得到Kappa統計值爲0的完全單邊結果。無論使用哪種數據集或指標。這是如何工作的? RandomForest的結果是可以接受的,我承認,但是BayesNet會讓我陷入困境。 – 2013-03-18 15:04:27

+0

很難說沒有完整的數據會發生什麼。這些特徵可能無法實現良好的分離(至少就貝葉斯網而言)。我想簡單的答案是不要使用BayesNet來完成這個特定任務:) – 2013-03-18 15:11:41

回答

1

本來我以爲BayesNet就是這個問題。但現在我認爲這是你的數據。

由於這是在評論中已經指出的那樣,我認爲這個問題是不平衡類。大多數分類器對精度進行了優化,在您的情況下,BayesNet爲(190 + 0)/288 = 0.66,RandomForest爲(164 + 28)/288 = 0.67

正如你所看到的,所不同的是沒有那麼大,但隨機森林中找到的解決方案是略好。它看起來「更好」,因爲它不會將所有內容放在同一個班級中,但我真的懷疑它是否具有統計意義。

像Lars Kotthoff所說的那樣,很難說。我也猜測這些功能對於更好的分離還不夠好。

除了嘗試其他分類你應該重新考慮你的性能指標。 準確性只有在每個類的實例數大致相同時纔有效。在其他情況下,MCCAUC是很好的選擇(但由於不兼容的實現,AUC不能與WEKA中的LibSVM一起使用)。

您的實例的MCC將用於BayesNet是0和

((164*28) - (62*34))/sqrt((164+62)*(34+28)*(164+34)*(62+28)) 
= (4592 - 2108)/sqrt(226 * 62 * 198 * 90) 
= 2484/sqrt(249693840) 
= 0,15719823927071640929 

的隨機森林。所以RandomForest顯示了一個稍微好一點的結果,但沒有那麼好。

很難說沒有看到你的數據,但他們很可能沒有得到很好的分離。

+0

我在工作的領域通常認爲70%的準確度值是相當不錯的。無論如何,我也開始認爲這些措施並不像人們想要的那麼準確。 此外,我認爲您在計算MCC時的分母應該是sqrt(249693840),而不是249693840。如果是這樣,MCC就會達到0.157左右。顯然不是很好,但是比0.00001更令人沮喪,我想; – 2013-03-19 12:37:46

+0

@ShredOn你當然是對的,我已經改變了它。 – Sentry 2013-03-19 13:11:31

+0

只是爲了澄清 - 如果我忘了一分鐘內的準確性(或缺少準確性),我不會犯這個錯誤,導致分類器給出這樣的結果,對吧? 精度低是我可以看看,但我希望我沒有造成一些導致異常分類器行爲的基本錯誤。 – 2013-03-19 13:20:02