这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战
ROC与AUC 概念
ROC是什么? 通俗意义而言,ROC是用来研究学习器泛化性能。AUC即ROC曲线下的面积,ROC考虑的是样本预测的排序质量。 对ROC绘制曲线即 横轴为FPR - 假正例率【真实结果为反,预测结果为正的概率】,纵轴为TPR- 真正例率【真实结果为正,预测结果为正的概率】。
ROC VS P-R
P-R曲线能够通过查准率和查全率进行性能度量。ROC曲线是通过真正例率(TPR)和假正例率(FPR)进行衡量,那么ROC与P-R有何异同?
两者区别主要从公式中即可看出
P-R曲线的横轴是查全率【应当被查到是正值的概率】 R= TP /(TP+FN)。
纵轴是查准率【查出是正值的正确概率】 P= TP / (TP+FP)
P的值与正例和反例均相关。
ROC曲线的横轴是假正例率 FPR = FP / (FP + TN)
纵轴是真正例率 TPR = TP / (TP + FN)
FPR、TPR的值均只与正例/反例相关
因此,如果正例/反例的数量发生了很大的变化,对ROC而言也不会有很大的变化,因为一侧的比例不会发生很大的变化。但对于P-R中的查准率,比如加入了很多负样本,准确率一定会下降。
因此根据两者的区别,可以发现,如果是广告、推荐、排序这类正样本数量远大于负样本数量的领域,使用ROC能够得到更稳定的结果。
想测试不同类别分布下对学习器对性能影响,则可以使用P-R曲线
代价敏感错误率与代价曲线
之所以需要代价敏感错误率和代价曲线,是为了给不同错误赋予不同的权重,因为实际场景中不同错误所造成的影响会不同。
期望总体代价
期望总体代价是代价曲线中代价平面上围成的面积。
- 求ROC上每一点的FPR,FNR - 对应到代价平面上就可得到一条从(0, FPR)到(1,FNR)的线段。线段下的面积即该条件下的期望总体代价。
- 求出ROC上每一点在代价平面上的线段,所有线段围成的面积就是期望总体代价