使用方法
首先,创建一个imputer实例,指定你要用属性的中位数值替换该属性的缺失值:
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy="median")
由于中位数值只能在数值属性上计算,所以我们需要创建一个没有文本属性的数据ocean_proximityhousing_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是设置列名