为什么我的 ROC 曲线是这样的(对吗?)
机器算法验证
机器学习
物流
数据可视化
鹏
2022-04-03 06:08:20
1个回答
ROC曲线101
ROC 曲线可视化分类器对各种保守主义水平的预测性能(通过置信度分数衡量)。简单来说,它说明了您为提高真阳性率而付出的假阳性率的代价。保守性通过置信度分数的阈值来控制,以分配正面和负面标签。
x 轴可以解释为分类器自由主义的衡量标准,描述了其误报率(1-特异性)。y 轴表示检测阳性的能力,描述分类器的真实阳性率(灵敏度)。一个完美分类器的 ROC 曲线经过,这意味着它可以正确分类所有的正例,而不会出现一个误报。这导致恰好曲线下的面积.
直观地说,一个更保守的分类器(将较少的东西标记为积极的)比一个更自由的分类器具有更高的精度和更低的灵敏度。当阳性预测的阈值降低时(例如,所需的阳性置信度分数降低),假阳性率和灵敏度都单调上升。这就是为什么 ROC 曲线总是单调增加的原因。
绘制 ROC 曲线
正如您所说,您不需要计算各种阈值的预测。计算 ROC 曲线是根据您的分类器(例如您的逻辑回归模型)产生的排名来完成的。
使用该模型对每个测试点进行一次预测。你会得到一个置信度分数的向量,我们称之为. 使用此向量,您可以生成完整的 ROC 曲线(或至少对其进行估计)。不同的价值观 是你的门槛。由于您使用逻辑回归,因此置信度得分是概率,例如.
现在,只需遍历排序值并随时调整 TP/TN/FP/FN,您就可以逐点计算 ROC 曲线。ROC 曲线中的点数等于,假设在预测中没有联系。
要绘制最终结果,请使用以零阶保持 (ZOH) 绘制的函数,而不是点之间的线性插值,例如 MATLABstairs或staircase.plotR。在计算曲线下面积 (AUC) 时也要记住这一点。如果您使用线性插值而不是 ZOH 来计算 AUC,您实际上会得到凸包下的区域 (AUCH)。
其它你可能感兴趣的问题
