无法从 sklearn.externals.joblib 导入 Sklearn

Posted

技术标签:

【中文标题】无法从 sklearn.externals.joblib 导入 Sklearn【英文标题】:Cannot import Sklearn from sklearn.externals.joblib 【发布时间】:2019-09-30 12:09:39 【问题描述】:

我是初学者,刚开始学习机器学习。我正在尝试从 sklearn 导入像 imputer 这样的类,但我无法做到。

from sklearn.preprocessing import Imputer,LabelEncoder,OneHotEncoder,StandardScaler

ImportError: 无法导入名称 'version' from 'sklearn.externals.joblib' (C:\ProgramData\Anaconda3\lib\site-packages\sklearn\externals\joblib__init__.py)

【问题讨论】:

第一个想法是检查 sklearn 和 joblib 是否都已安装并且是最新的。试试python -m pip install sklearn --upgradepython -m pip install joblib --upgrade。能否提供完整的错误报告? 【参考方案1】:

问题有时会因版本而发生。这可能会有所帮助: 如果你是这样写的

from sklearn.externals import joblib

修改如下:

import joblib

【讨论】:

【参考方案2】:

我遇到了同样的问题。 我换了

from sklearn.externals import joblib

import joblib

它在 Python 3.7.2 中运行良好

【讨论】:

它对我有用。我可以知道这背后的原因吗?【参考方案3】:

我相信 Scikit-learn 的更新导致导入无法使用。

我的本​​地安装版本为0.20.3,并且此导入工作正常。但是在我的服务器上,我安装了0.23.1,并且弹出了这个错误。新版本肯定有一些变化。

就我而言,使用import joblib 解决问题。在你的情况下,它似乎更复杂。如果您的系统上安装了多个 Scikit-learn 版本,这听起来很可能会导致。您需要将它们全部卸载并全新安装 sklearn。

【讨论】:

【参考方案4】:

试试 python -m pip install sklearn --upgradepython -m pip install joblib --upgrade

然后,使用这个: import joblib

祝你好运。

【讨论】:

我已经应用了你的方法,我有 python 3.8 和 scikit-learn 0.23.2,你的命令不起作用

以上是关于无法从 sklearn.externals.joblib 导入 Sklearn的主要内容,如果未能解决你的问题,请参考以下文章

无法从资源加载位图

为啥我无法从 Alamofire 获取请求结果

DateTimeParseException:无法解析文本:无法从 TemporalAccessor 获取 LocalDateTime

无法从 'char[]' 转换为 'string[]' [关闭]

无法远程调试应用程序 - 端口无法从外部访问

无法从状态 '' 解析 '...'