机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)

主要参考:https://www.cnblogs.com/pinard/p/5993450.html

我写的主要是我的学习笔记,和关注重点,看不清楚的可以直接看主要参考链接。

在机器学习的算法评估中,尤其是分类算法评估中,会用到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念。

要理解精确率(precision)与召回率(recall),RoC曲线与PR曲线这几个概念,首先要理解 TP, FP, TN, FN
  True Positives,TP:预测为正样本,实际也为正样本的特征数
  False Positives,FP:预测为正样本,实际为负样本的特征数
  True Negatives,TN:预测为负样本,实际也为负样本的特征数
  False Negatives,FN:预测为负样本,实际为正样本的特征数

机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)
还是感觉有点复杂,看一下这个图吧。很明显,
左边的绿色半圆内部是TP,就是实际是正的,预测也是正的。
左边的灰色长方形(不包括绿色半圆),就是FN,就是实际上是正的,预测是负的。
所以左边实际上都是正的。
红色的半圆就是FP,就是实际上是负的,但是预测是正的,
右边的 浅灰色长方形(不包括红色半圆),就是TN,就是实际上是负的,预测也是负的。
所以右边实际上都是负的。
而圈内都是Positives,也就是积极的,也就是预测都是正的。
而圈外都是Negatives,就是负面的,也就是预测都是负的。

机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)
也就是说预测为正样本里面实际上是正样本的个数,这个就是精确率(precision)(预测正实际正的比例)。

机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)
召回率就就是说实际上是正样本中正确预测为正样本的个数(实际正预测正确的比例)。

机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)
特异性S是:实际上是负的样本里面预测负的样本比例(实际负预测预测正确的比例)

评估精确率和召回率

机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)

机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)
灵敏度,实际正例中正确识别的比例,和召回率公式相同。TPR

机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)
1-特异性,实际负例中预测错误的比例

以灵敏度TPR为y轴,以1-特异性FPR为x轴,我们就直接得到了RoC曲线。从FPR和TPR的定义可以理解,TPR越高,FPR越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。
机器学习之算法评估(精确率与召回率,RoC曲线与PR曲线)(四)

以精确率P为y轴,以召回率R为x轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。

使用RoC曲线和PR曲线,我们就能很方便的评估我们的模型的分类能力的优劣了。