【发布时间】:2017-02-15 10:15:14
【问题描述】:
左图显示了通过扫描单个阈值并记录相应的真阳性率 (TPR) 和假阳性率 (FPR) 形成的标准 ROC 曲线。
右图显示了我的问题设置,其中有 3 个参数,对于每个参数,我们只有 2 个选择。如图所示,它总共产生 8 个点。在实践中,我打算有数千种可能的 100 参数组合,但在这个缩小的情况下,概念保持不变。
我打算在这里找到两件事:
- 确定给定数据的最佳参数
- 为所有参数组合提供整体性能得分
对于左侧的 ROC 曲线,可以使用以下方法轻松完成:
- 最优参数:TPR 和 FPR 的最大差异与成本成分(我相信它被称为 J 统计量?)
- 整体性能:曲线下面积(图中阴影部分)
但是,对于我在右图中的情况,我不知道我选择的方法是否是通常使用的标准原则方法。
-
最优参数集:TPR和FPR的最大差值相同
参数分数 = TPR - FPR * cost_ratio
总体性能:所有“参数分数”的平均值
我找到了很多关于具有单一阈值的 ROC 曲线的参考资料,虽然还有其他技术可用于确定性能,但这个问题中提到的那些绝对被认为是一种标准方法。对于右边的场景,我没有找到这样的阅读材料。
底线,这里的问题有两个:(1)提供方法来评估我的问题场景中的最佳参数集和整体性能,(2)提供声称建议的方法是给定方法的标准方法的参考场景。
P.S.:我第一次在“Cross Validated”论坛上发布了这个问题,但没有得到任何回应,事实上,在 15 小时内只有 7 次浏览。
【问题讨论】:
-
你能描述一下你正在使用的模型吗?我不清楚您所说的“多个阈值”是什么意思。您的模型是否输出多个概率而不是单个概率?如果是这种情况,也许你想将它们组合成一个概率,然后你可以 ROC_AUC
-
@maxymoo,这与输出无关。它是关于训练和验证,以及选择最佳参数集。有关示例参数网格,请参阅 ncfirth 的答案。我想知道的是,如果没有从输入参数中绘制的“曲线”而是点阵,如何计算 roc_auc 。此外,是否还有其他首选的评分指标(我认为成本矩阵的准确性可能与曲线无关)
标签: machine-learning scikit-learn mathematical-optimization roc