python sklearn库中的缺失值填充

今天小萌新复习数据挖掘课程的知识点,当看到缺失值填充(imputation of missing values)部分,被sklearn库中的transform函数搞晕了。看了几篇前辈们的博客,来这里总结一下。请大家指正。

缺失值填充(imputation of missing values)

原始数据中会有一些缺失的属性值,一般人都会选择自动填充。

import numpy as np
from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values=np.nan, strategy=mean)
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
#使用train set训练出一个缺失值处理模型

SimpleImputer类用来单一属性缺失值填充。这里的二维矩阵[[1, 2], [np.nan, 3], [7, 6]]是train set,学习完成之后就可以把学习到的填充规则应用到test set上面即可。

X = [[np.nan, 2], [6, np.nan], [7, 6]]
print(imp.transform(X))

此时,X是test set。

transform函数

transform函数是数据标准化函数。它保证每个维度的特征数据方差为1,均值为0(正态分布),使得预测结果不会被某些维度过大的特征值而主导。

参考

经验分享 程序员 微信小程序 职场和发展