【机器学习】搞清楚机器学习的TP、FN、FP、TN,查全率和查准率,P-R曲线和ROC曲线的含义与关系

最近重新学习了一下机器学习的一些基础知识,这里对性能度量涉及到的各种值与图像做一个总结。

 

西瓜书里的这一部分讲的比较快,这些概念个人感觉非常绕,推敲了半天才搞清楚。

 

这些值分别是:

 

1、混淆矩阵中的:TP FN FP TN

其实很简单,真实情况有两种可能:正(T)和反(F);预测结果有两种可能:积极(P)和消极(N)

但是比较绕的是对于这里的P和N的理解,看到一个很好的举例,借用一下:

【机器学习】搞清楚机器学习的TP、FN、FP、TN,查全率和查准率,P-R曲线和ROC曲线的含义与关系

 

(pic from http://www.360doc.com/content/19/0806/19/52645714_853362368.shtml)

也就是说,

TN的意思是,预测的结果为N,即认为预测对象是F,而这个预测是正确的,所以记为T

 

 

 

 

 

如果这个时候思考:那么TN到底代表真实情况是T还是F?

这就有点绕了,有一个简便的方法:将T记为+,F记为-,P记为+,N记为-

那么++和--的运算结果为+,真实情况为T;+-和-+的运算结果为-,真实情况为F

 

2、查准率P和查全率R

首先注意区分两个P不同的含义,用颜色区分:预测结果P(positive),查准率P(precision)

在看表达式前先说说它们的定义,首先查准率和查全率是一对矛盾的值

查准率是指在所有预测为P的情况(包括将T预测为T的TP,和将F预测为T的FP)下,真实情况为T的比例

故查准率P=TP/P = TP/(TP+FP)

【机器学习】搞清楚机器学习的TP、FN、FP、TN,查全率和查准率,P-R曲线和ROC曲线的含义与关系

查全率是指在所有真实情况下为T的样本(包括将T预测为T的TP,和将T预测为F的FN)中,预测正确P的比例

故查全率R=TP/T = TP/(TP+FN)

【机器学习】搞清楚机器学习的TP、FN、FP、TN,查全率和查准率,P-R曲线和ROC曲线的含义与关系

为什么说他们是一对矛盾的值,一个大另外一个就必然小?

可以这样理解:如果希望查准率P高,则需要尽量“保守”预测,不能肯定地预测为P,就给出N的答案,则将真实情况下的T预测为N的情况增加,即FN增加,那么查全率R就会相应地下降

 

 

3、ROC曲线(真正利率和假正利率)

表达式:

【机器学习】搞清楚机器学习的TP、FN、FP、TN,查全率和查准率,P-R曲线和ROC曲线的含义与关系

 

 【机器学习】搞清楚机器学习的TP、FN、FP、TN,查全率和查准率,P-R曲线和ROC曲线的含义与关系

 

上一篇:【TP5.1】中间件,定义全局中间件后,中间件别名会失效


下一篇:10机器学习之监督学习