2016-07-15 948 views
1

給定一個平衡的數據集(兩個類的大小相同),將其擬合到SVM模型中,我產生高AUC值(〜0.9),但準確度低( 〜0.5)。在平衡數據集中具有高AUC和低準確度的原因

我完全不知道爲什麼會發生這種情況,任何人都可以爲我解釋這種情況嗎?

+2

你可以繪製你的混淆矩陣嗎? –

+0

順便說一句,我的第一個想法是,你錯過了領導正確的標籤。嘗試繪製roc曲線,可能你會注意到AUC正在猜測0爲1,反之亦然...... –

+0

答案有幫助嗎? –

回答

1

我猜你是小姐計算ROC曲線讀取時正確的類...
這將解釋準確性和(計算錯誤)AUC

很容易看出,如果AUC在其ROC曲線交叉時用於比較兩個分類器,可能會引起誤解。分類器A可以產生比B更高的AUC,而B對於實際使用分類器的閾值的大部分可以更好地執行。實際上,經驗研究表明,常見分類器曲線的ROC 確實很常見。還有更深的原因 爲什麼AUC是不連貫的,因此是不恰當的措施(參見下面的 )。

http://sandeeptata.blogspot.com/2015/04/on-dangers-of-auc.html

0

我最近偶然發現了同樣的問題。這是我自己想出來的 - 讓我知道如果我錯了。

爲了更好地理解爲什麼ROC曲線下面積(AUC)可能較高,同時精度較低,我們快速重述這些術語的含義。

接收者操作員特徵(ROC)帶來與真正率(TPR)相關的假陽性率(FPR)。

TPR: number of true positives/number of times the prediction was positive 
FPR: number of false positives/number of times the prediction was negative 

ROC曲線是通過計算TPR和FPR爲不同的分類的預測截斷(以下簡稱「決定閾值」)創建(如你肯定已經知道了),這是用來決定是否標觀察結果屬於一個類別或另一個類別:

if score_function(observation) <= cutoff: 
    observation belongs to the "negative" class A 
else:   
    observation belongs to the "positive" class B 

生成的曲線下的面積稱爲AUC。它指出是否有可用於分類的配置可以有效地識別肯定(或類別B)。

現在,您現在可以注意到的一件事是,整個ROC分析僅處理「肯定」 - 無論是真實還是錯誤(分別爲TPR和FPR)。真陰率(TNR)和假陰性率(FNR)完全被忽略。在另一方面

精度被定義爲所有正確地標記的情況下的比率和總例數:

accuracy = (TP + TN)/(Total number of cases) 

還有一點要提的是,分類器的截止通常是固定的當你計算該分類器的準確度時。 (通常,如果score_function的結果表示概率,則該截斷值固定爲0.5。)

那麼AUC如何大,同時精度低呢?如果您的分類器以高假陰性率(或低陰性數量)爲代價在陽性類別(高AUC)上取得良好表現,那麼可能會發生這種情況。

問題爲何培訓過程導致分類器預測性能差,這是一個不同的問題,並且與您使用的問題/數據和分類方法有關。總而言之,ROC分析告訴你一些關於正類的樣本可以與其他類分離的程度,而預測的準確性暗示了分類器的實際性能。

+0

而對於這個更詳細的答案也看[這裏](https://stats.stackexchange.com/questions/90659)! – normanius