一文看懂分類(lèi)模型的評(píng)估指標(biāo):準(zhǔn)確率、精準(zhǔn)率、召回率、F1、ROC曲線、AUC曲線


機(jī)器學(xué)習(xí)模型需要有量化的評(píng)估指標(biāo)來(lái)評(píng)估哪些模型的效果更好。
本文將用通俗易懂的方式講解分類(lèi)問(wèn)題的混淆矩陣和各種評(píng)估指標(biāo)的計(jì)算公式。將要給大家介紹的評(píng)估指標(biāo)有:準(zhǔn)確率、精準(zhǔn)率、召回率、F1、ROC曲線、AUC曲線。
機(jī)器學(xué)習(xí)評(píng)估指標(biāo)大全
所有事情都需要評(píng)估好壞,尤其是量化的評(píng)估指標(biāo)。
高考成績(jī)用來(lái)評(píng)估學(xué)生的學(xué)習(xí)能力
杠鈴的重量用來(lái)評(píng)估肌肉的力量
跑分用來(lái)評(píng)估手機(jī)的綜合性能
機(jī)器學(xué)習(xí)有很多評(píng)估的指標(biāo)。有了這些指標(biāo)我們就橫向的比較哪些模型的表現(xiàn)更好。我們先從整體上來(lái)看看主流的評(píng)估指標(biāo)都有哪些:

分類(lèi)問(wèn)題評(píng)估指標(biāo):
準(zhǔn)確率 – Accuracy
精確率(差準(zhǔn)率)- Precision
召回率(查全率)- Recall
F1分?jǐn)?shù)
ROC曲線
AUC曲線
回歸問(wèn)題評(píng)估指標(biāo):
MAE
MSE
分類(lèi)問(wèn)題圖解
為了方便大家理解各項(xiàng)指標(biāo)的計(jì)算方式,我們用具體的例子將分類(lèi)問(wèn)題進(jìn)行圖解,幫助大家快速理解分類(lèi)中出現(xiàn)的各種情況。
舉個(gè)例子:
我們有10張照片,5張男性、5張女性。如下圖:

有一個(gè)判斷性別的機(jī)器學(xué)習(xí)模型,當(dāng)我們使用它來(lái)判斷「是否為男性」時(shí),會(huì)出現(xiàn)4種情況。如下圖:

實(shí)際為男性,且判斷為男性(正確)
實(shí)際為男性,但判斷為女性(錯(cuò)誤)
實(shí)際為女性,且判斷為女性(正確)
實(shí)際為女性,但判斷為男性(錯(cuò)誤)
這4種情況構(gòu)成了經(jīng)典的混淆矩陣,如下圖:

TP – True Positive:實(shí)際為男性,且判斷為男性(正確)
FN – False Negative:實(shí)際為男性,但判斷為女性(錯(cuò)誤)
TN – True Negative:實(shí)際為女性,且判斷為女性(正確)
FP – False Positive:實(shí)際為女性,但判斷為男性(錯(cuò)誤)
這4個(gè)名詞初看起來(lái)比較暈(尤其是縮寫(xiě)),但是當(dāng)我們把英文拆分時(shí)就很容易理解了,如下圖:

所有的評(píng)估指標(biāo)都是圍繞上面4種情況來(lái)計(jì)算的,所以理解上面4種情況是基礎(chǔ)!
分類(lèi)評(píng)估指標(biāo)詳解
下面詳細(xì)介紹一下分類(lèi)分為種的各種評(píng)估指標(biāo)詳情和計(jì)算公式:
準(zhǔn)確率 – Accuracy
預(yù)測(cè)正確的結(jié)果占總樣本的百分比,公式如下:
準(zhǔn)確率 =(TP+TN)/(TP+TN+FP+FN)

雖然準(zhǔn)確率可以判斷總的正確率,但是在樣本不平衡 的情況下,并不能作為很好的指標(biāo)來(lái)衡量結(jié)果。舉個(gè)簡(jiǎn)單的例子,比如在一個(gè)總樣本中,正樣本占 90%,負(fù)樣本占 10%,樣本是嚴(yán)重不平衡的。對(duì)于這種情況,我們只需要將全部樣本預(yù)測(cè)為正樣本即可得到 90% 的高準(zhǔn)確率,但實(shí)際上我們并沒(méi)有很用心的分類(lèi),只是隨便無(wú)腦一分而已。這就說(shuō)明了:由于樣本不平衡的問(wèn)題,導(dǎo)致了得到的高準(zhǔn)確率結(jié)果含有很大的水分。即如果樣本不平衡,準(zhǔn)確率就會(huì)失效。
精確率(差準(zhǔn)率)- Precision
所有被預(yù)測(cè)為正的樣本中實(shí)際為正的樣本的概率,公式如下:
精準(zhǔn)率 =TP/(TP+FP)

精準(zhǔn)率和準(zhǔn)確率看上去有些類(lèi)似,但是完全不同的兩個(gè)概念。精準(zhǔn)率代表對(duì)正樣本結(jié)果中的預(yù)測(cè)準(zhǔn)確程度,而準(zhǔn)確率則代表整體的預(yù)測(cè)準(zhǔn)確程度,既包括正樣本,也包括負(fù)樣本。
召回率(查全率)- Recall
實(shí)際為正的樣本中被預(yù)測(cè)為正樣本的概率,其公式如下:
召回率=TP/(TP+FN)

召回率的應(yīng)用場(chǎng)景: 比如拿網(wǎng)貸違約率為例,相對(duì)好用戶(hù),我們更關(guān)心壞用戶(hù),不能錯(cuò)放過(guò)任何一個(gè)壞用戶(hù)。因?yàn)槿绻覀冞^(guò)多的將壞用戶(hù)當(dāng)成好用戶(hù),這樣后續(xù)可能發(fā)生的違約金額會(huì)遠(yuǎn)超過(guò)好用戶(hù)償還的借貸利息金額,造成嚴(yán)重償失。召回率越高,代表實(shí)際壞用戶(hù)被預(yù)測(cè)出來(lái)的概率越高,它的含義類(lèi)似:寧可錯(cuò)殺一千,絕不放過(guò)一個(gè)。
F1分?jǐn)?shù)
如果我們把精確率(Precision)和召回率(Recall)之間的關(guān)系用圖來(lái)表達(dá),就是下面的PR曲線:

可以發(fā)現(xiàn)他們倆的關(guān)系是「兩難全」的關(guān)系。為了綜合兩者的表現(xiàn),在兩者之間找一個(gè)平衡點(diǎn),就出現(xiàn)了一個(gè) F1分?jǐn)?shù)。
F1=(2×Precision×Recall)/(Precision+Recall)

ROC曲線、AUC曲線
ROC 和 AUC 是2個(gè)更加復(fù)雜的評(píng)估指標(biāo),下面這篇文章已經(jīng)很詳細(xì)的解釋了,這里直接引用這篇文章的部分內(nèi)容。
上面的指標(biāo)說(shuō)明也是出自這篇文章:《一文讓你徹底理解準(zhǔn)確率,精準(zhǔn)率,召回率,真正率,假正率,ROC/AUC》
1. 靈敏度,特異度,真正率,假正率
在正式介紹 ROC/AUC 之前,我們還要再介紹兩個(gè)指標(biāo),這兩個(gè)指標(biāo)的選擇也正是 ROC 和 AUC 可以無(wú)視樣本不平衡的原因。?這兩個(gè)指標(biāo)分別是:靈敏度和(1- 特異度),也叫做真正率(TPR)和假正率(FPR)。
靈敏度(Sensitivity) =?TP/(TP+FN)
特異度(Specificity) =?TN/(FP+TN)
其實(shí)我們可以發(fā)現(xiàn)靈敏度和召回率是一模一樣的,只是名字換了而已。
由于我們比較關(guān)心正樣本,所以需要查看有多少負(fù)樣本被錯(cuò)誤地預(yù)測(cè)為正樣本,所以使用(1- 特異度),而不是特異度。
真正率(TPR) = 靈敏度 =?TP/(TP+FN)
假正率(FPR) = 1- 特異度 =?FP/(FP+TN)
下面是真正率和假正率的示意,我們發(fā)現(xiàn)TPR 和 FPR 分別是基于實(shí)際表現(xiàn) 1 和 0 出發(fā)的,也就是說(shuō)它們分別在實(shí)際的正樣本和負(fù)樣本中來(lái)觀察相關(guān)概率問(wèn)題。?正因?yàn)槿绱?,所以無(wú)論樣本是否平衡,都不會(huì)被影響。還是拿之前的例子,總樣本中,90% 是正樣本,10% 是負(fù)樣本。我們知道用準(zhǔn)確率是有水分的,但是用 TPR 和 FPR 不一樣。這里,TPR 只關(guān)注 90% 正樣本中有多少是被真正覆蓋的,而與那 10% 毫無(wú)關(guān)系,同理,F(xiàn)PR 只關(guān)注 10% 負(fù)樣本中有多少是被錯(cuò)誤覆蓋的,也與那 90% 毫無(wú)關(guān)系,所以可以看出:如果我們從實(shí)際表現(xiàn)的各個(gè)結(jié)果角度出發(fā),就可以避免樣本不平衡的問(wèn)題了,這也是為什么選用 TPR 和 FPR 作為 ROC/AUC 的指標(biāo)的原因。

或者我們也可以從另一個(gè)角度考慮:條件概率。?我們假設(shè)X為預(yù)測(cè)值,Y為真實(shí)值。那么就可以將這些指標(biāo)按條件概率表示:
精準(zhǔn)率 = P(Y=1 | X=1)
召回率 = 靈敏度 = P(X=1 | Y=1)
特異度 = P(X=0 | Y=0)
從上面三個(gè)公式看到:如果我們先以實(shí)際結(jié)果為條件(召回率,特異度),那么就只需考慮一種樣本,而先以預(yù)測(cè)值為條件(精準(zhǔn)率),那么我們需要同時(shí)考慮正樣本和負(fù)樣本。所以先以實(shí)際結(jié)果為條件的指標(biāo)都不受樣本不平衡的影響,相反以預(yù)測(cè)結(jié)果為條件的就會(huì)受到影響。
2. ROC(接受者操作特征曲線)
ROC(Receiver Operating Characteristic)曲線,又稱(chēng)接受者操作特征曲線。該曲線最早應(yīng)用于雷達(dá)信號(hào)檢測(cè)領(lǐng)域,用于區(qū)分信號(hào)與噪聲。后來(lái)人們將其用于評(píng)價(jià)模型的預(yù)測(cè)能力,ROC 曲線是基于混淆矩陣得出的。
ROC 曲線中的主要兩個(gè)指標(biāo)就是真正率和假正率,?上面也解釋了這么選擇的好處所在。其中橫坐標(biāo)為假正率(FPR),縱坐標(biāo)為真正率(TPR),下面就是一個(gè)標(biāo)準(zhǔn)的 ROC 曲線圖。

ROC 曲線的閾值問(wèn)題
與前面的 P-R 曲線類(lèi)似,ROC 曲線也是通過(guò)遍歷所有閾值?來(lái)繪制整條曲線的。如果我們不斷的遍歷所有閾值,預(yù)測(cè)的正樣本和負(fù)樣本是在不斷變化的,相應(yīng)的在 ROC 曲線圖中也會(huì)沿著曲線滑動(dòng)。

如何判斷 ROC 曲線的好壞?
改變閾值只是不斷地改變預(yù)測(cè)的正負(fù)樣本數(shù),即 TPR 和 FPR,但是曲線本身是不會(huì)變的。那么如何判斷一個(gè)模型的 ROC 曲線是好的呢?這個(gè)還是要回歸到我們的目的:FPR 表示模型虛報(bào)的響應(yīng)程度,而 TPR 表示模型預(yù)測(cè)響應(yīng)的覆蓋程度。我們所希望的當(dāng)然是:虛報(bào)的越少越好,覆蓋的越多越好。所以總結(jié)一下就是TPR 越高,同時(shí) FPR 越低(即 ROC 曲線越陡),那么模型的性能就越好。?參考如下:

ROC 曲線無(wú)視樣本不平衡
前面已經(jīng)對(duì) ROC 曲線為什么可以無(wú)視樣本不平衡做了解釋?zhuān)旅嫖覀冇脛?dòng)態(tài)圖的形式再次展示一下它是如何工作的。我們發(fā)現(xiàn):無(wú)論紅藍(lán)色樣本比例如何改變,ROC 曲線都沒(méi)有影響。

3. AUC(曲線下的面積)
為了計(jì)算 ROC 曲線上的點(diǎn),我們可以使用不同的分類(lèi)閾值多次評(píng)估邏輯回歸模型,但這樣做效率非常低。幸運(yùn)的是,有一種基于排序的高效算法可以為我們提供此類(lèi)信息,這種算法稱(chēng)為曲線下面積(Area Under Curve)。
比較有意思的是,如果我們連接對(duì)角線,它的面積正好是 0.5。對(duì)角線的實(shí)際含義是:隨機(jī)判斷響應(yīng)與不響應(yīng),正負(fù)樣本覆蓋率應(yīng)該都是 50%,表示隨機(jī)效果。?ROC 曲線越陡越好,所以理想值就是 1,一個(gè)正方形,而最差的隨機(jī)判斷都有 0.5,所以一般 AUC 的值是介于 0.5 到 1 之間的。
AUC 的一般判斷標(biāo)準(zhǔn)
0.5 – 0.7:?效果較低,但用于預(yù)測(cè)股票已經(jīng)很不錯(cuò)了
0.7 – 0.85:?效果一般
0.85 – 0.95:?效果很好
0.95 – 1:?效果非常好,但一般不太可能
AUC 的物理意義
曲線下面積對(duì)所有可能的分類(lèi)閾值的效果進(jìn)行綜合衡量。曲線下面積的一種解讀方式是看作模型將某個(gè)隨機(jī)正類(lèi)別樣本排列在某個(gè)隨機(jī)負(fù)類(lèi)別樣本之上的概率。以下面的樣本為例,邏輯回歸預(yù)測(cè)從左到右以升序排列:

本文轉(zhuǎn)自:?easyAI?產(chǎn)品經(jīng)理的 AI 知識(shí)庫(kù) https://mp.weixin.qq.com/s/YQcGfchQ2dZkMSyxBFMDlg