給定一個平衡的數據集(兩個類的大小相同),將其擬合到SVM模型中,我產生高AUC值(〜0.9),但準確度低( 〜0.5)。在平衡數據集中具有高AUC和低準確度的原因
我完全不知道爲什麼會發生這種情況,任何人都可以爲我解釋這種情況嗎?
給定一個平衡的數據集(兩個類的大小相同),將其擬合到SVM模型中,我產生高AUC值(〜0.9),但準確度低( 〜0.5)。在平衡數據集中具有高AUC和低準確度的原因
我完全不知道爲什麼會發生這種情況,任何人都可以爲我解釋這種情況嗎?
我猜你是小姐計算ROC曲線讀取時正確的類...
這將解釋低準確性和高(計算錯誤)AUC。
很容易看出,如果AUC在其ROC曲線交叉時用於比較兩個分類器,可能會引起誤解。分類器A可以產生比B更高的AUC,而B對於實際使用分類器的閾值的大部分可以更好地執行。實際上,經驗研究表明,常見分類器曲線的ROC 確實很常見。還有更深的原因 爲什麼AUC是不連貫的,因此是不恰當的措施(參見下面的 )。
http://sandeeptata.blogspot.com/2015/04/on-dangers-of-auc.html
我最近偶然發現了同樣的問題。這是我自己想出來的 - 讓我知道如果我錯了。
爲了更好地理解爲什麼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分析告訴你一些關於正類的樣本可以與其他類分離的程度,而預測的準確性暗示了分類器的實際性能。
而對於這個更詳細的答案也看[這裏](https://stats.stackexchange.com/questions/90659)! – normanius
你可以繪製你的混淆矩陣嗎? –
順便說一句,我的第一個想法是,你錯過了領導正確的標籤。嘗試繪製roc曲線,可能你會注意到AUC正在猜測0爲1,反之亦然...... –
答案有幫助嗎? –