尽管安装了最新的 sklearn (0.19.1),但出现“ModuleNotFoundError: No module named 'sklearn.impute'”
Posted
技术标签:
【中文标题】尽管安装了最新的 sklearn (0.19.1),但出现“ModuleNotFoundError: No module named \'sklearn.impute\'”【英文标题】:Getting "ModuleNotFoundError: No module named 'sklearn.impute'" despite having latest sklearn installed (0.19.1)尽管安装了最新的 sklearn (0.19.1),但出现“ModuleNotFoundError: No module named 'sklearn.impute'” 【发布时间】:2018-11-23 10:06:09 【问题描述】:我正在做一场 Kaggle 比赛,需要填补一些缺失的数据。我已经安装了最新的Anaconda(4.5.4)
以及所有相关的依赖项(即scikit-learn (0.19.1)
)。
当我尝试导入模块时,出现以下错误:
ModuleNotFoundError:没有名为“sklearn.impute”的模块
我尝试导入不同的 sklearn 模块,没有任何问题。似乎只有 sklearn.impute 丢失了。
【问题讨论】:
我认为sklearn.impute
可能是版本 0.20.1 (dev) 的东西。 0.19.1 有sklearn.preprocessing.imputation
【参考方案1】:
正如 BallpointBen 指出的,sklearn.impute 尚未在最新的稳定版本 (0.19.1) 中发布。目前它仅在 0.20.dev0 中受支持。
【讨论】:
【参考方案2】:这是版本错误。这是一个在 Jupyter Notebook 中工作时对我有用的修复程序。从您的终端:
conda 更新 anaconda
conda 更新 scikit-learn
然后重启你的 jupyter 内核【讨论】:
【参考方案3】:试试这个 -
from sklearn.preprocessing import Imputer
适用于 python3.5 和 python3.6
(进出jupyter笔记本)
【讨论】:
【参考方案4】:你可以使用 从 sklearn.preprocessing 导入 Imputer 它有效。
【讨论】:
这是如何以及为什么起作用的? How do I write a good answer?【参考方案5】:另一个选项是 SimpleImputer,它工作正常:
从 sklearn.impute 导入 SimpleImputer
【讨论】:
【参考方案6】:我们环境的最新版本有 sklearn 0.23.1,其中包括 sklearn.impute。
import sklearn
print (sklearn.__version__)
输出:
0.23.1
如果库未更新,请转到 Anaconda Prompt 并
conda update sklearn
【讨论】:
【参考方案7】:sklearn 23.x版本请参考https://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_0_23_0.html
有两种使用 SimpleImputer 的方法。 1 imputer.SimpleImputer
from sklearn import impute
imputer = impute.SimpleImputer(missing_values=np.nan, strategy='mean')
2 简单计算器
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
【讨论】:
嗨 Mayur,感谢您在这里提供帮助,并祝贺您的第一次贡献。但是,您似乎在重复问题中提到的步骤,而不是提供解决方案。在回答此论坛之前,使用指定软件包的版本尝试并重现问题可能会有所帮助。以上是关于尽管安装了最新的 sklearn (0.19.1),但出现“ModuleNotFoundError: No module named 'sklearn.impute'”的主要内容,如果未能解决你的问题,请参考以下文章
sklearn naive bayes MultinomialNB:尽管我有 2 个类,为啥我只得到一个带系数的数组?
在ubuntu服务器中搭建jupyter notebook,并安装numpy,scipy, matplotlibm, pandas, sklearn
尽管没有一维数组,但在 Sklearn 中通过一维数组获得弃用警告
在ubuntu服务器中搭建jupyter notebook,并安装numpy,scipy, matplotlibm, pandas, sklearn///tensorflow
在ubuntu服务器中搭建jupyter notebook,并安装numpy,scipy, matplotlibm, pandas, sklearn///tensorflow