出现cannot import name ‘Imputer‘ from ‘sklearn.preprocessing报错问题

在使用sklearn模块导入Imputer时,输入
from sklearn.preprocessing import Imputer
出现如下错误:

在这里插入图片描述
主要原因在于版本的问题,

第一种方法: 更改输入方法:

from sklearn.impute import SimpleImputer

但是当我进行缺失值填充时,运行的语句为:

nan_model=SimpleImputer(missing_values=‘NaN’,strategy='mean')
nan_result=nan_model.fit_transform(df)#应用模型 规则

出现报错:
在这里插入图片描述
这里只需要把missing_values值的NaN更改为np.nan即可(np为numpy,开始导入的numpy模块:import numpy as np)

nan_model=SimpleImputer(missing_values=np.nan,strategy='mean')#建立替换规则,将值为Nan的缺失值
##做替换
nan_result=nan_model.fit_transform(df)#应用模型 规则

就可以成功运行了。

第二种方法-------降低版本

降低scikit-learn 库的 版本为0.19.2
命令如下:
pip install scikit-learn==0.19.2 --user -i https://pypi.douban.com/simple

总结

总体来说,直接降低库的版本比较好点,因为在我个人案例当中,使用第一种方法进行最频繁值填充的时候出现了问题,所以建议第二种方法。

你可能感兴趣的:(python报错处理,sklearn,python,机器学习)