Machine learning sklearn实际上是如何计算AUROC的?

Machine learning sklearn实际上是如何计算AUROC的?,machine-learning,scikit-learn,roc,auc,Machine Learning,Scikit Learn,Roc,Auc,我知道模型的ROC曲线是通过改变阈值(影响TPR、FPR)来构建的 因此,我最初的理解是,要计算AUROC,需要使用不同的阈值多次运行模型,以获得该曲线并最终计算面积 但似乎您只需要一些正类的概率估计,如下面的代码示例所示,来计算AUROC >>将numpy作为np导入 >>>从sklearn.metrics导入roc\U auc\U分数 >>>y_true=np.array([0,0,1,1]) >>>y_分数=np.数组([0.1,0.4,0.35,0.8]) >>>roc_auc_分数(y

我知道模型的ROC曲线是通过改变阈值(影响TPR、FPR)来构建的

因此,我最初的理解是,要计算AUROC,需要使用不同的阈值多次运行模型,以获得该曲线并最终计算面积

但似乎您只需要一些正类的概率估计,如下面的代码示例所示,来计算AUROC

>>将numpy作为np导入
>>>从sklearn.metrics导入roc\U auc\U分数
>>>y_true=np.array([0,0,1,1])
>>>y_分数=np.数组([0.1,0.4,0.35,0.8])
>>>roc_auc_分数(y_真,y_分数)
0.75


这是怎么回事?任何建议的读取?

模型中类的预测概率在不同的运行中不会有太大的变化(如果您没有更改数据或超参数)。因此,当您获得概率时,您可以更改阈值以分配类,而无需再次训练模型。这就是其中发生的情况。您可以在此处阅读更多内容: