sklearn包中缺失Imputer函数

在使用sklearn处理housing数据集时遇到ocean_proximity特征报错,原因是新版sklearn中Imputer函数已从preprocessing模块移至sklearn.impute,通过`from sklearn.impute import SimpleImputer`可以解决。此外,若遇到numpy缺少mkl库导致的问题,可尝试卸载numpy后下载numpy+mkl的whl文件进行离线安装,或者在Anaconda环境中避免该问题。
部署运行你感兴趣的模型镜像

, housing是一个数据集,ocean_proximity是其中一个特征(列)


from sklearn.preprocessing import Imputer as SimpleImputer 
imputer = SimpleImputer(strategy = 'median')

housing_num = housing.drop('ocean_proximity', axis =1)

imputer.fit(housing_num)

然后就报错:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-69-910102e90f6c> in <module>
      6 
      7 # 创建一个imputer实例,指定你要用属性中的中位数值替换该属性的缺失值
----> 8 from sklearn.preprocessing import Imputer as SimpleImputer
      9 
     10 imputer = SimpleImputer(strategy = 'median')

ImportError: cannot import name 'Imputer' from 'sklearn.preprocessing' (d:\program files\python37\lib\site-packages\sklearn\preprocessing\__init__.py)
  • 最后发现新版sklearn框架,imputer不在preprocessing里了,而是在sklearn.impute里 ,直接from sklearn.impute import SimpleImputer就可以了.

参考资料: https://scikit-learn.org/stable/modules/impute.html#impute ;
https://scikit-learn.org/stable/modules/preprocessing.html#preprocessing

网上还有一种说法是

  • 大概率是你安装的numpy不包含mkl链接库(intel的math kernel library),你可以先卸载numpy,然后到
    https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载numpy+mkl版本的numpy的whl文件,然后通过你的pip离线安装此版本numpy,
    这样再重新安装一遍其他的几个库,应该就会包含所有函数包了。而anoconda已经集成了各种科学计算包,所以在anoconda下就没啥问题。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值