ROC曲线的优点是什么?
例如,我正在对一些图像进行分类,这是一个二进制分类问题。我提取了约500个特征,并应用了特征选择算法来选择一组特征,然后将SVM应用于分类。在这种情况下,如何获得ROC曲线?是否应该更改特征选择算法的阈值,并获得输出的灵敏度和特异性以绘制ROC曲线?
就我而言,创建ROC曲线的目的是什么?
ROC曲线的优点是什么?
例如,我正在对一些图像进行分类,这是一个二进制分类问题。我提取了约500个特征,并应用了特征选择算法来选择一组特征,然后将SVM应用于分类。在这种情况下,如何获得ROC曲线?是否应该更改特征选择算法的阈值,并获得输出的灵敏度和特异性以绘制ROC曲线?
就我而言,创建ROC曲线的目的是什么?
Answers:
许多二进制分类算法计算一种分类得分(有时但并非总是这是处于目标状态的概率),并且它们根据得分是否高于某个阈值进行分类。查看ROC曲线,可以查看所有可能阈值的灵敏度和特异性之间的权衡,而不仅仅是建模技术选择的阈值。不同的分类目标可能会使曲线上的一个点更适合一项任务,而另一点更适合另一项任务,因此查看ROC曲线是一种独立于阈值选择来评估模型的方法。
在过去几年中,我看到的99%的案例中,ROC曲线都无法提供信息。许多统计学家甚至更多的机器学习从业者似乎都认为它们是必须的。并确保您的问题确实是分类问题,而不是风险估计问题。ROC曲线的问题的核心是,它们邀请用户使用切点作为连续变量,并且它们使用向后概率,即事件的概率按相反的时间顺序排列(敏感性和特异性)。ROC曲线不能用于找到最佳折衷,除非在非常特殊的情况下,决策规则的用户向分析师放弃了他们的损失(成本;效用)函数。
创建ROC曲线后,可以计算AUC(曲线下的面积)。AUC是跨多个阈值的测试准确性。AUC = 1表示测试完美。AUC = .5表示偶然进行二进制分类。
如果存在多个模型,则AUC提供单个度量以在不同模型之间进行比较。总是有任何权衡取舍的方法,但是AUC是一个很好的起点。
AUC不会将真实类别与预测类别进行相互比较。它不是在看预测的类别,而是在看预测分数或概率。您可以通过对该分数应用临界值来进行类的预测,例如,每个分数低于0.5的样本都被归为负数。但是中华民国早于此。它正在处理分数/班级概率。
它获取这些分数,并根据该分数对所有样本进行排序。现在,无论何时找到阳性样品,ROC曲线都会沿y轴增加。每当找到负样本时,您都将向右移动(沿x轴)。如果两个类别的得分不同,则阳性样本通常排在第一位。这意味着您要比向右前进更多的步骤。列表的下方会出现阴性样本,因此您向左移动。当您遍历整个样本列表时,您将到达坐标(1,1),该坐标对应于100%的正样本和100%的负样本。
如果分数将正样本与负样本完美地分开,则从(x = 0,y = 0)一直移到(1,0),然后从那一直移到(1,1)。因此,曲线下的面积为1。
如果您的分数在正样本和负样本中的分布相同,则在排序列表中找到正样本或负样本的概率是相等的,因此在ROC曲线中上移或左移的概率是相等的。这就是为什么您沿对角线移动的原因,因为您实际上是上下移动,上下移动,依此类推...这样得出的AROC值约为0.5。
在数据集不平衡的情况下,步长是不同的。因此,向左移动较小的步骤(如果您有更多的负样本)。这就是分数几乎与不平衡无关的原因。
因此,借助ROC曲线,您可以直观地看到样品的分离方式,曲线下的面积可以成为衡量二进制分类算法或任何可用于分离类的变量的性能的非常好的度量。
该图显示了具有不同样本量的相同分布。黑色区域显示预期存在正负样本的随机混合物的ROC曲线的位置。