在机器学习的分类问题中,尤其是二分类问题中,常常需要有评判标准,那么在这些评判标准中,最常用的就是准确率、召回率、ROC和AUC。
其中,在实际使用中,我们往往使用AUC作为评判标准,那么如何计算AUC就是非常重要的。在常见的方法中,最常用的就是通过计算ROC,然后计算ROC下与X轴围成的面积作为AUC的值,但是这种方法非常简单,不会用于实际计算中。所以我们需要另外寻找方法来计算。那么,这就出现了一种非常暴力但简单的方法来计算AUC。
因为如同LR算法那样,计算得到的值是一个score,表示该样本在当前LR模型下,被判定为正样本的概率,那么我们可以对该score进行从大到小排序,然后给每个score指定其排序的序号,例如一共有n个样本,那么score最大的那个样本的排序序号就为n,依次类推;假设一共有M个正样本,有N个负样本,那么最后的AUC的计算结果为:
rank表示所有取正样本的样本的排序序号求和,通过此方法就能计算出最后的AUC值。一般来说,需要AUC值越大越好,表明模型的分类效果更佳!
本文参考:https://blog.csdn.net/pzy20062141/article/details/48711355