記錄一下混淆矩陣的學(xué)習(xí)心得,不寫下來老是容易搞混..
I. 理論解析
機(jī)器學(xué)習(xí)中,考量二分類問題的分類器性能時(shí),可以將樣本的實(shí)際類別與分類器預(yù)測(cè)類別,劃分為如下 TN, FP, FN, TP 四種結(jié)果,組合起來就是大名鼎鼎的 confusion matrix 混淆矩陣。其中:
True,F(xiàn)alse 表示預(yù)測(cè)結(jié)果與實(shí)際分類是否一致:一致為True,不一致為False;
Positive,Negative 表示預(yù)測(cè)結(jié)果的類別:通常class 1 為Positive,class 0 為Negative
混淆矩陣 | 預(yù)測(cè)值 | ||
0(-) | 1(+) | ||
實(shí)際值 | 0(-) |
True Negative (TN) | False Positive (FP) |
1(+) | False Negative (FN) | True Positive (TP) |
畫出混淆矩陣后,就可以根據(jù)矩陣,計(jì)算相應(yīng)的度量指標(biāo)了,主要有準(zhǔn)確率(Accuracy),召回率(Recall),精確率(Precision)三大金剛。
PS: 看了太多不同的叫法,本來就容易混淆,叫法一多更蒙圈了,感覺還是叫英文直觀一點(diǎn)
1. 準(zhǔn)確率 (Accuracy)
所有預(yù)測(cè)正確的樣本,占總樣本的比例。
準(zhǔn)確率關(guān)注整體(正樣本 + 負(fù)樣本)的預(yù)測(cè)準(zhǔn)確程度。但在樣本不均衡時(shí),準(zhǔn)確率有很大的局限性,此時(shí)高accuracy無太大意義。例如在實(shí)際生活中,大多數(shù)信用卡客戶都不會(huì)違約(class 0),違約的只是少數(shù)(class 1)。用分類器預(yù)測(cè)信用卡客戶是否會(huì)違約時(shí),即便把所有樣本都預(yù)測(cè)為不違約(class 0)也可以獲得很高的準(zhǔn)確率,但這對(duì)于風(fēng)控模型來說,毫無參考價(jià)值。
2. 召回率 (Recall)
針對(duì)原樣本而言,在所有實(shí)際為正(class 1)的樣本中,被預(yù)測(cè)為正的樣本比例。
?又稱為sensitivity rate,true positive rate(TPR),查全率。這個(gè)指標(biāo)關(guān)注更多的是查全,不要有漏檢的情況,寧可錯(cuò)殺一千,不能放過一個(gè)。
3. 精確率 (Precision)
針對(duì)預(yù)測(cè)樣本而言,在所有被預(yù)測(cè)為正(class 1)的樣本中,實(shí)際為正(class 1)的樣本比例。
又稱為 positive predictive rate,查準(zhǔn)率。更關(guān)注正樣本結(jié)果中的預(yù)測(cè)準(zhǔn)確程度,寧愿漏檢,也不愿意預(yù)測(cè)錯(cuò)誤。
召回率 與 精確率 Trade-off
召回率(查全率)與精確率(查準(zhǔn)率)是一對(duì)矛盾的變量,二者相互制約,此消彼長(zhǎng)。
以下表為例,假設(shè) t=1 代表客戶違約,用A,B 兩個(gè)分類器進(jìn)行預(yù)測(cè)
t actual | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
t predicted-A | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
t predicted-B | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
模型 A: 寧可錯(cuò)殺,不能放過,即便沒有很確定,也判斷該客戶會(huì)違約。此時(shí)分類器高召回率,低精確率。
recall = TP / 實(shí)際為正 = 3/3 = 100%,
precision = TP / 預(yù)測(cè)為正 = 3/9 = 33.33%
模型B: 寧可漏過,不能錯(cuò)判,只在非常確定的情況下,才判斷客戶違約。此時(shí)分類器低召回率,高精確率。
recall = 1/3 = 33.33%,
precision = 1/1 = 100%
4. F-Score??
Fβ-score 是綜合考慮召回率與精確率的一個(gè)加權(quán)調(diào)和平均指標(biāo),平衡召回率、精確率。F-score分?jǐn)?shù)越高,說明模型質(zhì)量越好。具體公式如下:
?
其中,β代表對(duì)召回率、精確率的不同重視程度:
β=1,二者一樣重要,此時(shí)即為F1-Score;
β<1,精確率更為重要。比如在經(jīng)濟(jì)整體向好時(shí),希望準(zhǔn)確判斷違約客戶,以放出更多的貸款,提升利息收益;
β>1,召回率更為重要。經(jīng)濟(jì)狀況不好時(shí),更希望盡可能少漏掉違約客戶,即更多的找出違約客戶,避免本金損失。
II. python實(shí)現(xiàn)
實(shí)用角度出發(fā),直接調(diào)用sklearn包,查看分類結(jié)果
from sklearn.metrics import classification_report
print(classification_report(y_test, pred_log, digits=3))
# y_test是劃分出的測(cè)試集
# pred_log是依據(jù)分類器預(yù)測(cè)出的結(jié)果
# 通常保留3位小數(shù)便于比較
輸出結(jié)果如下:文章來源:http://www.zghlxwxcb.cn/news/detail-499827.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-499827.html
到了這里,關(guān)于【機(jī)器學(xué)習(xí)】分類器性能度量——混淆矩陣及sklearn實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!