sklearn 导入错误:无法导入名称 plot_roc_curve

Ach*_*age 5 python machine-learning roc scikit-learn

我正在尝试按照 sklearn 文档中提供的示例绘制具有交叉验证的接收器操作特征 (ROC) 曲线。但是,以下导入ImportErrorpython2和中都给出了, python3

from sklearn.metrics import plot_roc_curve
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name plot_roc_curve
Run Code Online (Sandbox Code Playgroud)

python-2.7 sklearn版本: 0.20.2.

python-3.6 sklearn版本: 0.21.3.

我发现以下导入工作正常,但与plot_roc_curve.

from sklearn.metrics import roc_curve
Run Code Online (Sandbox Code Playgroud)

plot_roc_curve弃用?有人可以尝试代码并让我知道 sklearn 版本是否有效吗?

Uen*_*cha 14

plot_roc_curve 在 1.2 版本中已被删除。从 1.2 开始,改用 RocCurveDisplay:

sklearn 1.2 之前:

from sklearn.metrics import plot_roc_curve
svc_disp = plot_roc_curve(svc, X_test, y_test)
rfc_disp = plot_roc_curve(rfc, X_test, y_test, ax=svc_disp.ax_)
Run Code Online (Sandbox Code Playgroud)

从 sklearn 1.2 开始:

from sklearn.metrics import RocCurveDisplay
svc_disp = RocCurveDisplay.from_estimator(svc, X_test, y_test)
rfc_disp = RocCurveDisplay.from_estimator(rfc, X_test, y_test, ax=svc_disp.ax_)
Run Code Online (Sandbox Code Playgroud)


小智 8

安装 scikit-plot 并从那里导入指标:

from scikitplot.metrics import plot_roc_curve
Run Code Online (Sandbox Code Playgroud)