怎么理解roc convex hull?

  统计/机器学习 监督式学习 模型验证    浏览次数:4440        分享
1

怎么理解二元分类模型的roc convex hull?有人熟悉这个概念吗?

谢谢!


 

ljljlj   2018-03-10 22:45



   2个回答 
7

roc convex hull可以用来比较分类器。通常如果分类器输出的是概率,我们直接比较roc auc了。但是如果分类器返回的是标签,而不是概率,那么roc convex hull可以用来作为初步的判断。

首先要知道roc曲线的横坐标和纵坐标分别是FPR(False Positive Rate)和TPR(True Positive Rate)。

对于一个二元分类器A,如果它的FPR是0.2,它的TPR是0.7。在下图中用红点已经标出。

把A点和(0,0),(1,1)连起来,就会得到一个凸多边形(convex hull)。

现在又有另一个二元分类器B,它的FPR是0.5,它的TPR是0.9。也可以在图中标出。

A和B以及(0,0),(1,1)的连线依然是凸的。

现在又来了第三个分类器C,它的FPR是0.8,它的TPR是0.92。第三个分类器D,它的FPR是0.6,它的TPR是0.7。

发现C和D都在原来的convex hull内,如果非要把A,B,C,D连接起来我们发现,它也不会是凸的。

所以相对A和B,C和D是较差的分类器。至于A和B谁好,无法区分。

如果只有A,C,D三个分类器,D是较差的,而A和C则无法比较。

roc convex hull可以看作是一种“没有比较,就没有伤害”,“别人家孩子系列”。

------

roc convex hull的另一个作用是用来筛选operation point(也就是是0-1分类的阈值)。比如分类器返回的是概率,这个时候,这个分类器自己就对应了一个roc curve。注意,这个curve未必是convex的。选择operation point的时候,最好要选择在convex hull上的点。


SofaSofa数据科学社区DS面试题库 DS面经

曾经是科比   2018-03-30 10:19

谢谢大牛解释! - ljljlj   2018-04-01 12:33
1

搬运一下StackOverflow上的答案

这个答案的意思说roc convex hull可以帮你构造一个最优的分类器。

为什么是“最优”的呢?

因为你的分类器在roc坐标系中会有很多点,而这些点的连线未必是convex的。你画出这些点的convex hull,这时convex hull下的面积就最大化了,换句话说roc auc就被最大化了。答案里引用的那片论文说,你总是可以人为的进行一些组合,使得你的分类器达到最个最优。


SofaSofa数据科学社区DS面试题库 DS面经

岛歌   2018-05-01 11:35



  相关讨论

为什么负样本的auc会和正样本的auc不一样呢?

为什么非平衡的数据更适合用精度-召回曲线,而不是roc auc?

如何利用python画分类器的ROC曲线?

roc auc小于0.5是什么情况?

roc space是什么意思?

怎么直观理解ROC AUC的概率统计意义?

sklearn里计算roc_auc_score,报错ValueError: bad input shape

问一下roc和logistic回归有啥联系区别

精度召回precision recall auc是什么?

sklearn.metrics.auc里提到的梯形法则是什么意思?

  随便看看

决策树、随机森林中的多重共线性问题

pandas报错: 'DataFrame' object has no attribute 'unique'

柯西分布没有数学期望

python怎么对list中的元素做连乘?

为什么梯度的反方向是函数下降最快的方向?