前段時間工作中發現自己對模型評估指標中的auc有點忘了,因此打算重新看一下然後寫個部落格記錄一下。
首先簡單介紹一下混淆矩陣,查全率(也叫做召回率,recall)和查準率(也叫做精確率,precesion)。
在進行模型評估的時候,單單使用準確率accuracy(**正確樣本數/總樣本數)有時候並不能很好的對模型進行評估。比如,在對日活或月活使用者**其購買商品概率並將比較有可能購買的使用者找出來給銷售打**的時候,由於在實際樣本集合中,可能購買的使用者(即正樣本)的人數會比較少,比如100個日活使用者中只有5個使用者會購買,這時候如果僅僅是追求準確率的話,那麼簡單粗暴的把閾值設的很高,使所有使用者都**為負樣本(即不購買的使用者),此時的準確率為95%,但是這種結果卻不是我們想要的。此時召回率或精確率可能是比較好的評估指標。
在介紹召回率和精確率之前,首先了解一下混淆矩陣。
在二分類問題中,我們可以將樣本根據實際類別和模型**類別的組合劃分為真正例(true positive),假正例(false position),真反例(true negative)以及假反例(false negative),其個數分別即為tp,fp,tn,fn。於是就可以寫出如下混淆矩陣:
**為正例
**為反例
實際為正例
tpfn
實際為反例
fptn
由上述混淆矩陣就可以得出召回率和精確率召回率
(rec
all)
=tpt
p+fn
召回率(recall)=\frac
召回率(re
call
)=tp
+fnt
p精 確率
(pre
cisi
on)=
tptp
+fp精確率(precision)=\frac
精確率(pr
ecis
ion)
=tp+
fptp
在上述例子中,如果簡單粗暴的將所有例子都判定為反例,那麼其準確率或許可以達到95%,但是召回率和精確率就都是0%了。但是,當我們把閾值設的很低,將所有樣本都**為正樣本的時候,此時召回率達到100%,但是精確率卻只有5%,當我們僅僅取最有把握的**樣本最為正例的時候,此時精確率高了,但召回率有不理想了。
因此,在模型得出**結果之後,閾值怎麼設對模型最終的評估結果很有影響。那麼,是否有這樣一種模型的評估指標,不論閾值怎麼設都跟指標的最終結果無關呢?auc就是這樣的評估指標。
在上述的例子中,實際上只要在模型的**結果中,所有的正樣本的**結果都大於負樣本的**結果,那麼我們總是能夠找到乙個閾值,使得不論是準確率,召回率還是精確率都是100%。此時也就是要求**結果的排序質量很好,即所有的正樣本都排在前面,所有的負樣本都排在後面。 auc,正是考慮樣本**的排序質量。
在介紹auc之前,首先了解一下roc曲線。
當我們用乙個模型對所有樣本做出**之後,將所有樣本按照**概率進行排序。首先我們將閾值設定為最大,即將所有的樣本均**為反例,計算真正例率(tpr)和假正例率(fpr)tpr
=tpt
p+fn
tpr=\frac
tpr=tp
+fnt
pf pr
=fpt
n+fp
fpr=\frac
fpr=tn
+fpf
p於是得到(tp
r1,f
pr1)
(tpr_, fpr_)
(tpr1
,fpr
1)。然後將閾值從大到小依次設定為每乙個樣本的**值,並計算(tp
ri,f
pri)
(tpr_, fpr_)
(tpri
,fpr
i)。最終得到一組數對(tp
ri,f
pri)
(tpr_, fpr_)
(tpri
,fpr
i)。然後,將得到的這一系列數對繪製在以真正例率為縱軸,假正例率為橫軸的座標系中,得到
當roc這條曲線下所包含的面積越大,就表示模型**出來的結果排序質量越高,而roc這條曲線下所包含的面積,就是auc值。因此,我們可以使用auc值來刻畫模型**的排序質量。
除了上述案例之外,推薦場景也是比較看重auc指標。比如,當我們拿到乙個使用者的使用者畫像之後,推測出使用者喜好什麼,更願意買什麼,在我們的倉庫中可能有1000個商品都可以推薦給這個使用者,但是我們有不能把1000個商品都推薦給使用者,這樣使用者眼睛都看花掉。因此我們需要挑選排序中使用者最優可能購買的10件商品推薦給使用者,如果這10件不行,那就換下乙個10件。在這種場景下,對**結果的排序質量就比較高了,因此對auc值也就比較看重。
機器學習 模型評估指標
from sklearn.metrics import accuracy score print 準確率 accuracy score y true,y pred,normalize true print 正確分類的數量 accuracy score y true,y pred,normalize ...
機器學習之模型評估
準確率是指分類正確的樣本佔總樣個數的比例 accuracy frac n 為被正確分類的樣本個數,n 為總樣本的個數 準確率的侷限性 準確率是分類問題中最簡單也是最直觀的評價指標,但存在明顯的缺陷,當不同總類的樣本比例非常不均衡時,佔比大的類別往往成為影響準確率的最主要因素。比如 當負樣本佔99 分...
機器學習筆記之模型評估與選擇
2.1經驗誤差與過擬合 錯誤率 error rate 分類錯誤的樣本數佔樣本總數的比例 精度 accuracy 1 錯誤率 誤差 error 實際 輸出與樣本的真實輸出之間的差異 訓練誤差 經驗誤差 在訓練集上的誤差 測試誤差 泛化誤差 在新樣本的誤差 過擬合 學習時選擇的模型包含的引數過多,對已知...