我正在进行一场Kaggle比赛,需要输入一些丢失的数据。我安装了最新的Anaconda(4.5.4)以及所有相关的依赖项(即scikit-learn(0.19.1))。
当我尝试导入模块时,我收到以下错误:
ModuleNotFoundError: No module named 'sklearn.impute'
我试图导入不同的sklearn模块而没有任何问题。似乎只缺少sklearn.impute。
答案 0 :(得分:8)
正如BallpointBen指出的那样,sklearn.impute尚未在最新的稳定版本(0.19.1)中发布。目前它仅在0.20.dev0中受支持。
答案 1 :(得分:0)
这是版本错误。这是在Jupyter Notebook中工作时对我有用的修复程序。从您的终端:
conda更新anaconda
conda更新scikit学习
答案 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')