You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sklearn调用RocCurveDisplay.from_predictions报无属性错误如何解决

问题原因

该错误确实由scikit-learn版本不兼容导致。
RocCurveDisplay.from_predictions 是scikit-learn 1.0及更高版本才新增的API,你当前使用的0.24.1版本未提供该静态方法,因此触发属性不存在的报错。

解决方案

方案1:升级scikit-learn版本

直接升级到1.0及以上版本即可兼容原有代码,升级命令:

pip install -U scikit-learn

升级完成后原有代码不需要修改即可直接运行,若有其他依赖绑定旧版本scikit-learn,升级前请先确认兼容性。

方案2:不升级版本,使用低版本兼容写法

0.24.1版本的RocCurveDisplay需要配合roc_curve函数手动计算fpr、tpr后再绘图,替代代码如下:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import RocCurveDisplay, roc_curve

true = np.array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
       1., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0.])

prediction = np.array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 0., 0., 0.,
       1., 1., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 1., 1., 0., 0.])

# 手动计算fpr、tpr参数
fpr, tpr, _ = roc_curve(true, prediction)
# 初始化RocCurveDisplay实例并绘图
display = RocCurveDisplay(fpr=fpr, tpr=tpr)
display.plot()
plt.show()

内容的提问来源于stack exchange,提问作者Julithe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:45:01