ROC曲线的优点是什么?
例如,我正在对一些图像进行分类,这是一个二元分类问题。我提取了大约 500 个特征并应用特征选择算法来选择一组特征,然后我应用 SVM 进行分类。在这种情况下,如何获得 ROC 曲线?我是否应该更改特征选择算法的阈值并获得输出的敏感性和特异性以绘制 ROC 曲线?
在我的情况下,创建 ROC 曲线的目的是什么?
ROC曲线的优点是什么?
例如,我正在对一些图像进行分类,这是一个二元分类问题。我提取了大约 500 个特征并应用特征选择算法来选择一组特征,然后我应用 SVM 进行分类。在这种情况下,如何获得 ROC 曲线?我是否应该更改特征选择算法的阈值并获得输出的敏感性和特异性以绘制 ROC 曲线?
在我的情况下,创建 ROC 曲线的目的是什么?
许多二元分类算法计算一种分类分数(有时但不总是这是处于目标状态的概率),并且它们根据分数是否高于某个阈值进行分类。查看 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 曲线中向上或向左移动的概率是相等的。这就是为什么你沿着对角线移动,因为你基本上是向上和向左移动,向上和向左移动,等等......这给出了大约 0.5 的 AROC 值。
在不平衡数据集的情况下,步长是不同的。所以,你向左走小步(如果你有更多的负样本)。这就是为什么分数或多或少独立于不平衡的原因。
因此,使用 ROC 曲线,您可以可视化您的样本是如何分离的,曲线下的面积可以作为衡量二元分类算法或任何可用于分离类的变量的性能的非常好的指标。
该图显示了具有不同样本大小的相同分布。黑色区域显示了正负样本随机混合的 ROC 曲线的预期位置。