导入错误:无法从“sklearn.base”导入名称“MultiOutputMixin”

Edu*_*rdo 2 python-3.x scikit-learn

我只想用 scikit-learn 做一个线性回归。当我尝试导入线性模型包时,会出现标题中的错误消息。

我试图遵循类似问题的解决方案(链接)。建议基本上是去掉它请求“MultipleOutputMixin”东西的代码部分。

当我这样做时,当然 MultiOuputMixin 不再是问题,但它在下面显示的错误消息中标记为 22 的行中产生错误。

关于我可以做些什么来避免这个问题的任何想法?

在此先感谢您的帮助!:)

Python 版本 = 3.70 scikit-learn 版本 = 0.21.2

这就是我正在做的:

from sklearn import linear_model
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

ImportError                               Traceback (most recent call last)
<ipython-input-46-1c4d4ebecc3f> in <module>()
      1 # Select a linear
----> 2 from sklearn import linear_model

C:\Users\Usuario\Anaconda3\lib\site-packages\sklearn\linear_model\__init__.py in <module>()
     13 
     14 from .bayes import BayesianRidge, ARDRegression
---> 15 from .least_angle import (Lars, LassoLars, lars_path, lars_path_gram, LarsCV,
     16                           LassoLarsCV, LassoLarsIC)
     17 from .coordinate_descent import (Lasso, ElasticNet, LassoCV, ElasticNetCV,

C:\Users\Usuario\Anaconda3\lib\site-packages\sklearn\linear_model\least_angle.py in <module>()
     18 
     19 from .base import LinearModel
---> 20 from ..base import RegressorMixin, MultiOutputMixin
     21 from ..utils import arrayfuncs, as_float_array, check_X_y
     22 from ..model_selection import check_cv

ImportError: cannot import name 'MultiOutputMixin' from 'sklearn.base' (C:\Users\Usuario\Anaconda3\lib\site-packages\sklearn\base.py)
Run Code Online (Sandbox Code Playgroud)

小智 6

我遇到了类似的问题。我可以通过打开一个新的 IPython 控制台来解决。

  • 对我来说它也有效。我从 cmd 停止了 jupyter 笔记本并重新启动它。谢谢@AnandOCF! (2认同)

Jas*_*saz 4

我不认为在没有完全理解库相关文件的情况下修改它是一个好主意。当我更新 scikit learn 包时,我遇到了这个问题。在我启动新的 shell 后它就起作用了。