获取“ModuleNotFoundError:没有名为'sklearn.impute'的模块”,尽管安装了最新的sklearn(0.19.1)

时间:2018-06-13 18:17:27

标签: python-3.x scikit-learn anaconda

我正在进行一场Kaggle比赛,需要输入一些丢失的数据。我安装了最新的Anaconda(4.5.4)以及所有相关的依赖项(即scikit-learn(0.19.1))。

当我尝试导入模块时,我收到以下错误:

ModuleNotFoundError: No module named 'sklearn.impute'

我试图导入不同的sklearn模块而没有任何问题。似乎只缺少sklearn.impute。

7 个答案:

答案 0 :(得分:8)

正如BallpointBen指出的那样,sklearn.impute尚未在最新的稳定版本(0.19.1)中发布。目前它仅在0.20.dev0中受支持。

答案 1 :(得分:0)

这是版本错误。这是在Jupyter Notebook中工作时对我有用的修复程序。从您的终端:

conda更新anaconda

conda更新scikit学习

  • 然后重新启动jupyter内核

答案 2 :(得分:0)

尝试一下-

from sklearn.preprocessing import Imputer

在python3.5和python3.6上均可使用

(插入或退出jupyter笔记本)

答案 3 :(得分:0)

您可以使用 从sklearn.preprocessing导入Imputer 可以。

答案 4 :(得分:0)

另一个选项是SimpleImputer,它可以正常工作:

从sklearn.impute导入SimpleImputer

答案 5 :(得分:0)

我们环境的最新版本包含sklearn 0.23.1,其中包括sklearn.impute。

import sklearn 
print (sklearn.__version__)

输出:

0.23.1

如果未更新库,则转到Anaconda Prompt,然后

conda update sklearn

答案 6 :(得分:-1)

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 SimpleImputer

from sklearn.impute import SimpleImputer  
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')