无法从 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 --upgrade
和python -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 --upgrade
和
python -m pip install joblib --upgrade
然后,使用这个:
import joblib
祝你好运。
【讨论】:
我已经应用了你的方法,我有 python 3.8 和 scikit-learn 0.23.2,你的命令不起作用以上是关于无法从 sklearn.externals.joblib 导入 Sklearn的主要内容,如果未能解决你的问题,请参考以下文章
DateTimeParseException:无法解析文本:无法从 TemporalAccessor 获取 LocalDateTime