我是一名本科生。。。最近試圖做了RF GBDT XGBOOST和LightGBM四種演算法的對比,調參過後發現LightGBM其他指標都很理想,唯獨AUC 比另三種低,所以想請教一下原因,或者改進方法。

【很多朋友說我的數據正負樣本不平衡,可是我根據混淆矩陣判斷,其實還是可以的,差不多接近1:1了。而且在別人電腦上也沒有這種情況】

真是要瘋了。。。。

這是我畫的ROC曲線,為了看得清楚縱坐標改成了0.6開始,黑色也就是最下面一條是LightGBM


AUC是一種排序的評價,他只對正類與負類的相對位置敏感。具體來說,他綜合考慮了數據所有的閾值,比如你的accuracy只考慮了,將&>0.5作為正類,&<0.5作為負類這一種劃分,而AUC考慮了所有劃分,這意味著,存在某些劃分,你的lgb的效果不如其他方法。

要用auc作為評價指標之前要想想自己是否真的需要這樣的排序評價,還是只要準確率就夠了。不同場景有不同的選擇。


跟測試樣本分布不均沒有關係,主要是那24個正樣本很難被模型判成positive. 從ROC曲線來看,就是這樣。所以整體的面積就比其他模型小了。


看看auc的定義你就能想到,只有一種可能,就是存在極少的樣本被錯判後的概率異常的大或小,建議你使用logloss來作為目標函數,可能有一定程度的緩解。


謝邀。

我建議你把這幾種演算法得到的ROC曲線畫出來對比一下,看看到底哪裡不一樣。不同演算法對某些樣本的判斷可能有差異,預測其為正例的概率也不一樣,如果可以,你最好把幾種分類器預測的樣本標籤和為正例的概率都得到(如果你用的sklearn的API的話,是可以很容易得到的),然後再根據ROC曲線的差異,定位到具體樣本,看能不能有什麼發現。

說幾個關鍵問題看你弄明白沒:

  1. ROC曲線怎麼畫出來的?
  2. ROC曲線里的斜線是怎麼回事?

如果不能說清楚,先弄清楚這兩個問題,可以參考一下我的這篇文章。


正負樣本不平衡導致,可以考慮更改採樣策略來解決


有一種原因是正負樣本比例嚴重失調

AUC是一種排序指標。是在不短減小閾值的情況下。根據假陽率和真陽率畫出ROC下曲線的面積。這裡面含有排序思想(正樣本的概率儘可能的高,負樣本概率儘可能的低曲線下面的面積越大)。

而accuracy、precision、f1-score、recall通常是在固定的閾值的情況下(通常為0.5)算出來的結果。AUC和他們的評價思想不一樣


有可能是正負樣本不均衡得到的,你看TPR和FPR的公式,這公式對正負樣本比例是不敏感的


我建議你把AUC曲線畫出來 才能知道是哪一部分的原因導致AUC低


推薦閱讀:
相关文章