python sklearn ImportError:无法导入名称plot_roc_curve

ep6jt1vc  于 2023-06-04  发布在  Python
关注(0)|答案(6)|浏览(2063)

我试图按照sklearn文档中提供的example绘制交叉验证的接收器操作特征(ROC)曲线。但是,下面的导入在python2python3中给出了ImportError

from sklearn.metrics import plot_roc_curve

错误:

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

python-2.7 sklearn版本:0.20.2.
python-3.6 sklearn版本:0.21.3.
我发现下面的导入工作正常,但它与plot_roc_curve不太一样。

from sklearn.metrics import roc_curve

plot_roc_curve是否已弃用?谁能试一下代码,如果可以的话,让我知道sklearn的版本?

wooyq4lh

wooyq4lh1#

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_)

从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_)
p4tfgftt

p4tfgftt2#

安装scikit-plot并从那里导入度量:

from scikitplot.metrics import plot_roc_curve
3gtaxfhh

3gtaxfhh4#

我用conda update --all更新了Conda,然后将scikit-learn更新到最新版本,对我来说是conda install scikit-learn=0.23.2,并重新启动了内核。从那以后,我的错误就消失了。

xesrikrc

xesrikrc5#

正如sklearn的官方文档所提到的:函数plot_roc_curve在1.0中被弃用,并将在1.2中被删除。如果您想了解更多细节,请参阅here
使用类方法之一:sklearn.metric.RocCurveDisplay.from_predictionssklearn.metric.RocCurveDisplay.from_estimator。如果您想了解更多详细信息,请参阅此处。

jvidinwx

jvidinwx6#

ImportError: cannot import name 'plot_roc_curve' from 'sklearn.metrics'

使用RocCurveDisplay而不是from sklearn.metrics import RocCurveDisplay中的plot_roc_curve

相关问题