转自:自己画混淆矩阵,防止懵逼 - 惊天臭豆腐的文章 - 知乎
关于混淆矩阵,有的书上行表示真实值,列表示预测值。而有的书上行表示预测值,列表示真实值。为了方便记忆,防止懂了又忘,强烈建议统一采用《统计学习方法》的方式——行表示真实值,列表示预测值,如下图:
行:真实值 列:预测值
接下来就是填空:
1)先填写阳性P和隐性N:
**阳性和隐性由预测值决定,所以要从列上看。**凡是预测为1的都是阳性-P,凡是预测为0的都是隐性-N
列值为1的为阳性,列值为0的为阴性
2)接着填写真T假F:
**真假由预测值是否跟真实值一致来决定。**若一致,如副对角线上,则为T。若不一致,如主对角线上则为F。
副对角线真实值与预测值一致(同为1或同为0)故填写T。主对角线填写F
到此为止,混淆矩阵绘制完毕。
首先回顾上一篇画的混淆矩阵中T、F、P、N的含义:T:真,F:假,P:阳性,N:阴性
然后组合:TP:真阳性 TN:真阴性 FP:假阳性 FN:假阴性
你认为对的中,有多少确实是对的,所占的比率:
你认为对的:即预测值为1的数量=TP+FP
有多少确实是对的:TP
$Precision=\frac{TP}{TP+FP}$
本来是对的中,你找回了多少对的,所占的比率 :
本来是对的:即真实值为1的数量=TP+FN
你找回了多少对的:TP
$Recall=\frac{TP}{TP+FN}$
精确率越高越好,召回率越高越好。
下边式子(2)可以由式子(1)推导出来。从(1)看出,Recall不变时,Precision越大,1/Precision越小,从而F1越大。
同理: Precision不变时,Recall越大,1/Recall越小,从而F1越大。
$$ F1 = \frac {2}{\frac{1}{Precision}+\frac{1}{Recall}}(方便理解)------(1) $$
$$
F1 = \frac{2Precision*Recall}{Precision+Recall}(标准公式)----(2) $$