sklearn库中找不到Imputer包问题

sklearn库中找不到Imputer包问题

问题描述:

cannot import name ‘Imputer’ from 'sklearn.preprocessing’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4aiuW63m-1588827907594)(C:\Users\hq0749a\Desktop\1.jpg)]

问题原因:

sklearn库中不存在Imputer类

解决方法一:

0.22以上版本的sklearn去除了Imputer类,因此需要使用SimpleImputer类代替

库引用代码需改为:

from sklearn.impute import SimpleImputer
解决方法二:

将0.22版本的sklearn降低为0.19(此版本存在Imputer类)

SimpleImputer类参数:
sklearn.impute.SimpleImputer(
		missing_values=nan,
		strategy='mean',
		fill_value=None,
		verbose=0,
		copy=True,
		add_indicator=False
)[source]

misssing_values: number,string,np.nan(default) or None

缺失值的占位符,所有出现的占位符都将被计算

strategy: string,default=‘mean’

计算并替换的策略:

"mean,使用该列的平均值替换缺失值。仅用于数值数据;

“median”,使用该列的中位数替换缺失值。仅用于数值数据;

“most_frequent”,使用每个列中最常见的值替换缺失值。可用于非数值数据;

“constant”,用fill_value替换缺失值。可用于非数值数据。

fill_value: string or numerical value,default=None

当strategy为"constant",使用fil_value替换missing_values。如果是default,使用0替换数值数据,使用"missing_value"替换字符串或对象数据类型

verbose: integer,default=0

controls the verbosity of the imputer

copy: boolean,default=True

True: 将创建X的副本;False: 只要有可能,就会原地替换。注意,一下情况即使copy=False,也会创建新的副本:

1.X不是一个浮点值数组;

2.X编码为CSR矩阵;

3.add_indicator=True

add_indicator: boolean,default=False

3.add_indicator=True

add_indicator: boolean,default=False

True,则MissingIndicator将叠加到输入器转换的输出上。这样即使进行了imputation归算,也同样会让预测估算器描述缺失值。如果某个特征在fit/train时没有缺失值,那么即使在transform/tes时有缺失值,该特征也不会出现在缺失的指示器上。

猜你喜欢

转载自blog.csdn.net/weixin_45609519/article/details/105970519
今日推荐