上壹篇文章沒有對評價指標進行梳理。本總結補充了建模過程中常用的壹些評價指標。
最近項目在做CTR建模,建模過程中已經將AUC作為評價指標。因為我的數據集中正負樣本是不平衡的(1:3),為了加強模型對正樣本的關註,損失函數中加入了類別權重(類似前面介紹的FACALLLOSS,不知道的話)。訓練結束後發現AUC基本沒有變化,根據之前的比賽經驗,壹般會有所提高。然後,還輸出了模型的精度和召回率,發現陽性樣本的精度確實提高了,但是召回率下降了,而AUC整體沒有變化。
我開始猶豫是否真的適合用AUC。我認為它不能反映模型對正樣本的識別能力,而是正負樣本的整體排序能力。對於廣告點擊率預測場景,根據我對業務的理解,理想的情況是希望得到這樣壹個模型:它識別出的正樣本用戶肯定會點擊,他們不想識別出用戶不點擊的樣本。沒有鑒定出多少陽性樣本並不重要。反正保證識別出的陽性樣本壹定會點擊。換句話說,在陽性樣本準確率必須高的前提下,召回率只能高(謝謝大家的誤解)。
說了這麽多,我個人認為除了通過AUC關註模型的排名能力,還應該更加關註模型對於正樣本的識別能力。順便整理壹下常用的評價指標。
通過網上常用的混淆矩陣,介紹了各種評價指標和計算公式,從中可以看出不同的指標更註重什麽。
真正,TP):實範疇為正例,預測範疇為正例;
假陰性,FN):真實類別為正,預測類別為負;
假陽性,FP):真實類別為陰性,預測類別為陽性;
真陰性,TN):真類別為陰性,預測類別為陰性;
計算公式:(TP+TN)/(TP+FN+FP+TN)
定義:所有正確分類的樣本占所有樣本的比例。
樣本分布不均勻容易讓模型“滿意”,比如正樣本占5%,負樣本占95%。如果模型預測所有陰性樣本,準確率為95%。實際上很少使用精確度。
計算公式:TP/TP+FP
定義:模型預測的所有正樣本中,真正樣本所占的比例。
準確度和精確度容易混淆,從公式中可以看出明顯的區別。準確率往往結合召回率來觀察模型。(下班後)