论文合作、课题指导请联系QQ2279055353
很多真实的数据集包括缺失值,这些缺失项通常编码为空,NaN
, 或其它占位符。对待含缺失值的数据集,常见的处理办法是去掉缺失项所在的整行或整列。然而,这种办法的代价是失去了可能有信息的观测或变量。这样,一种更好的策略是填补缺失值,即,根据数据的已知部分,用特定的值代替它们。下面,我们介绍常用的缺失值填补方法。
单特征填补
单特征填补,是用缺失项所在的特征的非缺失值填补。SimpleImputer
类提供了基本的单特征填补方法,包括使用常数值,特征的均值、中位数、众数统计量。下面的例子,使用列(axis 0)均值填补编码为NaN
的缺失项。
SimpleImputer
类也支持类别变量的缺失填补,使用most_frequent
orconstant
的参数值。
多特征填补
IterativeImputer
类提供更加复杂的填补模型,使用特征的函数作为估计量。具体上说,在每一步,定义一个特征列作为输出y
, 其它列组成输入X
; 拟合关于(y, X)
的回归模型,预测y
的缺失值。
产生多项式特征
我们经常通过输入特征的非线性变换,增加模型的复杂度。一个简单的方法是使用多项式特征,即,产生特征的幂次或乘积项。PolynomialFeatures
类产生多项式特征。下面,我们根据输入特征(X1,X2)(X_1, X_2)(X1,X2), 产生(1,X1,X2,X12,X1X2,X22)(1, X_1, X_2, X_1^2, X_1X_2, X_2^2)(1,X1,X2,X12,X1X2,X22).
如果仅产生交互项,设置参数interaction_only=True
.