基于 TPR 和 FPR,我为我的二元分类模型生成了 ROC 曲线。我不知道,如何计算 AUC 值。如果你能帮我计算 AUC 值,我会对我很有帮助。
如何从分类的 ROC 曲线计算 AUC?
数据挖掘
机器学习
分类
2021-09-16 12:29:52
1个回答
欢迎来到社区!
如您所知,AUC 只是 ROC 曲线下的面积。所以问题更多是关于数值方法,因为你有一组点,你想计算它下面的面积。
黎曼和
微不足道的解决方案。只需从您拥有的点制作矩形。每个矩形的面积只是边的乘积。然后总结它们!你大概不喜欢吧?!
梯形法
在黎曼之后,最简单和最天真的算法可以做到这一点。您只需有一组点,您只需计算每对之间的梯形面积并将它们总结起来,如下图所示。它具有最大的计算误差,因为它大大简化了问题。
辛普森 (1/3) 法
当我们谈论曲线时要好得多!让我们保持简单和重点。您可以使用二次 () 并具有 3 个数据点。使用您的三个数据点,您可以计算, 和 . 那么曲线下的面积并没有那么困难,但是我们有更好的解决方案!信不信由你,这种整合的价值很简单
在哪里 和 是区间的端点并且是中点。从这里查看下图以比较这些方法。
隆贝格方法
可以递归地应用辛普森和/或梯形方法以实现更准确的计算。它被称为Romberg 方法。这些方法的准确性在区间的长度上。更小的间隔提供更准确的积分。Romberg 使用这个事实迭代地更接近更准确的答案。
当然还有更多算法可以做到这一点。
PS:你当然有不同语言的库和函数来为你计算它。例如,Scipy 为 Python 提供。
希望能帮助到你!祝你好运!
其它你可能感兴趣的问题