如何将ROC曲线调整以优化假阴性率?

ROC曲线绘制TPR与FPR的关系,并根据训练集概率的排名顺序调整阈值。选定的阈值是左上角最顶点对应的概率,这基本上最大化了TPR并最小化了假阳性率。

然而,假设我的应用需要最小化假阴性率呢?那么这个曲线会如何变化?如果要在两者之间取得平衡呢?


回答:

在我看来,你对ROC曲线的理解似乎有些误区。

ROC曲线是随着阈值的变化绘制TPR与FPR的关系。结果上,ROC曲线实际上是三维图表,展示了三个变量之间的关系:FPR、TPR和阈值。图表上的每个点反映了特定阈值下的实际TPR和FPR。图表的左下角总是反映阈值为1,而右上角反映阈值为0。

ROC曲线有两个常见用途:比较两个不同模型的阈值独立性,以及帮助选择合适的阈值。对于预测分析应用来说,“合适的阈值”会根据你所解决的具体问题而有很大差异,但一般来说,你可以使用ROC曲线来选择一个对你的特定应用来说TPR/FPR权衡可接受的阈值。很少有情况是简单地选择最接近左上角点的阈值就能得到理想的结果。

一旦你从ROC曲线中选出一个看似理想的阈值,你可以进一步调查混淆矩阵和其他评估指标(精确度、召回率、准确率、F1等)来进一步评估该阈值。

回答你的直接问题,你说的对,ROC曲线并不直接显示FNR。在这种情况下,你可能想要使用敏感性/特异性图,它以类似于ROC曲线的方式绘制TPR与TNR。我所知道的没有直接查看FNR的标准评估方法。相反,我通常只是在我的数据中交换“阳性”和“阴性”标签,然后重新绘制ROC曲线。这将(有效地)给出TNR与FNR的关系。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注