ImportError: cannot import name ‘available_if‘ from ‘sklearn.utils.metaestimators‘ (D:\Anaconda\lib\

问题描述

一开始是报错没有安装yellowbrick库,然后加入pip语句(用的是jupyter notebook)之后,又报下面这个错误

ImportError: cannot import name 'available_if' from 'sklearn.utils.metaestimators' (D:\Anaconda\lib\site-packages\sklearn\utils\metaestimators.py)

我的代码

!pip install yellowbrick
from yellowbrick.regressor import ResidualsPlot

visualizer = ResidualsPlot(model_6, is_fitted=True, train_color='b', test_color='g', size=(1080,720))
visualizer.fit(x_train_scaled, y_train)
visualizer.score(x_test_scaled,y_test)
visualizer.poof() 

问题原理

这通常发生在 2 个不同版本的软件包不匹配时。问题在于 scikit-learn 的 python 版本对应。

但是如果使用的是 jupyter notebook,退出去重新启动环境将解决您的问题。

问题解决

此时不需要pip语句了,因为已经安装好了库。如果不确定是否安装,可以自行去检查一下。

#!pip install yellowbrick
from yellowbrick.regressor import ResidualsPlot

visualizer = ResidualsPlot(model_6, is_fitted=True, train_color='b', test_color='g', size=(1080,720))
visualizer.fit(x_train_scaled, y_train)
visualizer.score(x_test_scaled,y_test)
visualizer.poof() 

能够正常显示图片:

ImportError: cannot import name ‘available_if‘ from ‘sklearn.utils.metaestimators‘ (D:\Anaconda\lib\_第1张图片

 

你可能感兴趣的:(#,Python各种问题报错,sklearn,python,人工智能)