scikit-learn中处理缺失值的方法SimpleImputer

使用方法
首先,创建一个imputer实例,指定你要用属性的中位数值替换该属性的缺失值:

from sklearn.impute import SimpleImputer

imputer = SimpleImputer(strategy="median")

由于中位数值只能在数值属性上计算,所以我们需要创建一个没有文本属性的数据ocean_proximity
housing_num = housing.drop("ocean_proximity", axis=1)
使用fit()方法将SimpleImputer实例适配到训练集:
imputer.fit(housing_num)
这里imputer仅仅只是计算了每个属性的中位数值,并将结果存储在其实例变量statistics_中。
imputer.statistics_
现在,使用这个“训练有素”的imputer将缺失值替换成中位数值完成训练集转换
X = imputer.transform(housing_num)
当然也可以直接使用来完成fit和transform两步操作
Y = imputer.fit_transform(housing_num)
结果是一个包含转换后特征的Numpy数组。如果你想要将它放回Pandas DataFrame,
housing_tr = pd.DataFrame(X, columns=housing_num.columns)
其中的参数columns是设置列名

上一篇:功能:SpringBoot整合rabbitmq,长篇幅超详细


下一篇:机器学习算法库——scikit-learn工具解读