scikit learn 中 roc_curve 的阈值

2024-02-22

我指的是下面的链接和示例,并从本页发布我感到困惑的绘图。我的困惑是,只有 4 个阈值,但 roc 曲线似乎有很多数据点(> 4 个数据点),想知道 roc_curve 底层如何工作以找到更多数据点?

http://scikit-learn.org/stable/modules/model_evaluation.html#roc-metrics http://scikit-learn.org/stable/modules/model_evaluation.html#roc-metrics

>>> import numpy as np
>>> from sklearn.metrics import roc_curve
>>> y = np.array([1, 1, 2, 2])
>>> scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = roc_curve(y, scores, pos_label=2)
>>> fpr
array([ 0. ,  0.5,  0.5,  1. ])
>>> tpr
array([ 0.5,  0.5,  1. ,  1. ])
>>> thresholds
array([ 0.8 ,  0.4 ,  0.35,  0.1 ])

正如HaohanWang提到的,参数'drop_intermediate' 在函数中roc_曲线可以降低一些次优阈值以创建更轻的 ROC 曲线。 (roc_曲线 https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_curve.html).

If set the parameter to be False, all threshold will be displayed, for example: enter image description here

所有阈值以及相应的 TPR 和 FPR 均已计算,但其中一些对于绘制 ROC 曲线是无用的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

scikit learn 中 roc_curve 的阈值 的相关文章

随机推荐