python機器量化之十七:混淆矩陣(confusion_matrix)含義

1.混淆矩陣是機器學習中總結分類模型預測結果的情形分析表,以矩陣形式將數據集中的記錄按照真實的類別與分類模型預測的類別判斷兩個標準進行彙總

2.分類評估指標中定義的一些符號含義:

TP(True Positive)   :將正類預測爲正類數,真實爲0,預測爲0

FN(False Negative):將正類預測爲負類數,真實爲0,預測爲1

FP(False Positive)  :將負類預測爲正類數,真實爲1,預測爲0

TN(True Negative)  :將負類預測爲負類數,真實爲1,預測爲1

3.矩陣表現形式:

(注:矩陣的行表示真實值,列表示預測值)

二分類:

混淆矩陣 預測值
0 1
真實值 0 a b
1 c d

於是有: TP = a; FN = b; FP = c; TN = d.

$Precision$=$\frac{a}{a+c}$=$\frac{TP}{TP+FP}$,

$Recall$=$\frac{a}{a+b}$=$\frac{TP}{TP+FN}$,

$Accuracy$=$\frac{a+d}{a+b+c+d}$=$\frac{TP+TN}{TP+FN+FP+TN}$,

$F1$=$2*\frac{Recall*Accuracy}{Recall + Accuracy} $

 

知乎詳細說明有興趣的朋友可以看下:

我們假設某計算機學院有這麼一個班級,班上有40人,全是男程序員。大一的時候大家全都是單身。他們的輔導員在班會上做了這麼一個預測,“到了大二,班上的張三,李四,老王等5位同學會有女朋友! 剩下的狗剩,二蛋,大頭等35個同學,可能還要再等幾年。”

好的,這個時候我們可以把這位輔導員的預測寫成下面這張表:

到了大二,大家把這張表拿出來一覈對,在被預計有女朋友的人裏,發現除了老王,其他人還真的有了女朋友;在預計沒有女朋友的人裏,發現狗剩跟二蛋因爲代碼寫得好,竟然也有了女朋友。

這個時候,我們上面的表加工一下,可以得到下面這張表:

稍微解釋一下上面這張表。

左上角的數據1表示“被輔導員預計有女朋友,並且實際上也有了女朋友的人數”,一共有4位。在數據分析中,我們一般把這部分的數據叫做真陽性(True Positive,簡稱TP),也就是預計爲真,實際上也爲真的數據。在數據分析裏,我們常常把預計會發生的事件叫做,而把預計不會發生的事件叫做

右上角的數據2表示“被輔導員預計有女朋友,但是實際上並沒有的人數”,也就是老王一個人。在數據分析中,我們把這部分的數據叫做假陽性(False Positive, 簡稱FP),也就是預計爲真但實際上爲假的數據。

左下角的數據3表示“被輔導員預計沒有女朋友,但實際上找到了女朋友的人數”,這裏有狗剩和二蛋兩個人。在數據分析中,我們把這部分的數據叫做假陰性(False Negative, 簡稱FN), 也就是預計爲假,但實際上爲真的數據。

右下角的數據4表示“被輔導員預計沒有女朋友,實際上也確實沒有女朋友的人數”,這裏有大頭等33個人。在數據分析中,我們把這部分的數據叫做真陰性(True Negative, 簡稱TN),也就是預計爲假,實際上也爲假的數據。

我們可以把上面提到的表格簡化成下面這個樣子:

我們再做進一步地簡化,把它寫成矩陣的樣子:

你看,這個能表示預測值和真實值之間的差距的矩陣,就是我們想要的混淆矩陣了。

 

 


作者:曉偉
鏈接:https://www.zhihu.com/question/36883196/answer/557746605
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章