首先,有如下预备知识需要清楚,即分类的四个基本属性,而其他相关指标均是通过该四项属性进行组合计算得出的。
1. TP、TN、FP、FN
- | Relevant | NonRelevant |
---|---|---|
Retrieved | true positives (tp) | false positives(fp) |
Not Retrieved | false negatives(fn) | true negatives (tn) |
2. TPR、FPR
其中,
TPR = TP / (TP+FN);
表示当前分到正样本中真实的正样本所占所有正样本的比例;
FPR = FP / (FP + TN);
表示当前被错误分到正样本类别中真实的负样本所占所有负样本总数的比例;
3. Precision、Recall、F-Score
其中常见的Precision 和 Recall 定义如下:
实际上:
Recall = TPR,即当前被分到正样本类别中,真实的正样本占所有正样本的比例,即召回率(召回了多少正样本比例);
Precision就是当前划分到正样本类别中,被正确分类的比例(即正式正样本所占比例),就是我们一般理解意义上所关心的正样本的分类准确率;
虽然Precision 和 Recall 的值我们预期是越高越好,但是这两个值在某些场景下却是存在互斥的,比如仅仅取一个样本,并且这个样本也确实是正样本,那么Precision = 1.0, 然而 Recall 可能就会比较低(在该样本集中可能存在多个样本);相反,如果取所有样本,那么Recall = 1.0,而Precision就会很低了。所以在这个意义上,该两处值需要有一定的约束变量来控制。
F-Score就是 Precision和 Recall的加权调和平均:
其中,当 α = 1时,则 F-Score 即为F1:
当然 F1 综合了 Precision 和 Recall 的结果,因此当 F1/F-Score 较高时,说明结果较为理想。
4. ROC curve
有了如上的预备知识,现在来看ROC curve就比较容易了。关于ROC的由来,以及相关概念这里就不在赘述,网上资料特别多,但是关键在于理解其中重要的相关概念。ROC是用来形象展现二分类的效果的。先看一个栗子:
十分清晰,对于ROC来说,横坐标就是FPR,而纵坐标就是TPR,因此可以想见,当 TPR越大,而FPR越小时,说明分类结果是较好的。因此充分说明ROC用于二分类器描述的优势,但是除此之外,有一个新的问题:
ROC曲线并不能完美的表征二分类器的分类性能,那么如何评价?
5. AUC
AUC 即ROC曲线下的面积,计算方式即为ROC Curve的微积分值,其物理意义可以表示为:随机给定一正一负两个样本,将正样本排在负样本之前的概率,因此AUC越大,说明正样本越有可能被排在负样本之前,即分类额结果越好。
除了计算积分面积之外,还能如何计算AUC呢?
1)ROC Curve 面积计算法;
2)根据物理意义:对于所有的二元组合,假设样本集合包含 M个正样本、N个负样本,那么二元组即有 M* N个,对于M* N个根据各自的Score计算所有的正样本是否排在负样本之前,正确的技术所占比例即为AUC;
6. ROC Curve 绘制
ROC本质上就是在设定某一阈值之后,计算出该阈值对应的TPR & FPR,便可以绘制出ROC上对应的一个点,当设定若干个阈值之后,便可以连成ROC曲线,因此可以想见,当所采样的阈值越多,ROC Curve越平滑。
7. ROC的相关总结
- 1) ROC 可以反映二分类器的总体分类性能,但是无法直接从图中识别出分类最好的阈值,事实上最好的阈值也是视具体的场景所定;
- 2)ROC Curve 对应的AUC越大(或者说对于连续凸函数的ROC曲线越接近(0,1) )说明分类性能越好;
- 3)ROC曲线一定是需要在 y = x之上的,否则就是一个不理想的分类器;
以上为ROC相关理解,如有问题请指出,谢谢。
CSDN同步发布:CSDN同步发布