福田附近公司做网站建设多少钱,wordpress页面父级,f2c网站建设,做python项目的网站精确率与召回率#xff0c;ROC曲线与PR曲线
在机器学习的算法评估中#xff0c;尤其是分类算法评估中#xff0c;我们经常听到精确率(precision)与召回率(recall)#xff0c;ROC曲线与PR曲线这些概念#xff0c;那这些概念到底有什么用处呢#xff1f;
首先#xff0c…精确率与召回率ROC曲线与PR曲线
在机器学习的算法评估中尤其是分类算法评估中我们经常听到精确率(precision)与召回率(recall)ROC曲线与PR曲线这些概念那这些概念到底有什么用处呢
首先我们需要搞清楚几个概念
1. TP, FP, TN, FN
True Positives,TP预测为正样本实际也为正样本的特征数False Positives,FP预测为正样本实际为负样本的特征数True Negatives,TN预测为负样本实际也为负样本的特征数False Negatives,FN预测为负样本实际为正样本的特征数
听起来还是很费劲不过我们用一张图就很容易理解了。图如下所示里面绿色的半圆就是TP(True Positives), 红色的半圆就是FP(False Positives), 左边的灰色长方形不包括绿色半圆就是FNFalse Negatives。右边的 浅灰色长方形不包括红色半圆就是TN(True Negatives)。这个绿色和红色组成的圆内代表我们分类得到模型结果认为是正值的样本。
2. 精确率(precision),召回率(Recall)与特异性(specificity)
精确率Precision的定义在上图可以看出是绿色半圆除以红色绿色组成的圆。严格的数学定义如下
PTP/(TPFP)
召回率(Recall)的定义也在图上能看出是绿色半圆除以左边的长方形。严格的数学定义如下 RTP/(TPFN)
特异性(specificity)的定义图上没有直接写明这里给出是红色半圆除以右边的长方形。严格的数学定义如下
SFP/(FPTN)
有时也用一个F1值来综合评估精确率和召回率它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高。严格的数学定义如下
2/F11/P1/R
有时候我们对精确率和召回率并不是一视同仁比如有时候我们更加重视精确率。我们用一个参数ββ来度量两者之间的关系。如果β1, 召回率有更大影响如果β1,精确率有更大影响。 自然当β1的时候精确率和召回率影响力相同和F1形式一样。含有度量参数β的F1我们记为FβF_\betaFβ, 严格的数学定义如下
Fβ1β2∗P∗Rβ2∗PRF_\beta\frac {1\beta^2*P*R}{\beta^2*PR}Fββ2∗PR1β2∗P∗R
我们熟悉了精确率 召回率和特异性后面的ROC曲线和PR曲线就好了解了。
3. ROC曲线和PR曲线
有了上面精确率 召回率和特异性的基础理解ROC曲线和PR曲线就小菜一碟了。
以召回率为y轴以特异性为x轴我们就直接得到了ROC曲线。从召回率和特异性的定义可以理解召回率越高特异性越小我们的模型和算法就越高效。也就是画出来的ROC曲线越靠近左上越好。如下图左图所示。从几何的角度讲ROC曲线下方的面积越大越大则模型越优。所以有时候我们用ROC曲线下的面积即AUCArea Under Curve值来作为算法和模型好坏的标准。 以精确率为y轴以召回率为x轴我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解精确率越高召回率越高我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。
使用ROC曲线和PR曲线我们就能很方便的评估我们的模型的分类能力的优劣了。