当多个列具有空值时,使用KNN(fancyimputer,sklearn.impute)插值

时间:2019-12-24 04:49:49

标签: scikit-learn data-science missing-data knn imputation

IterativeImputer已显示,当只有一列具有空值时会产生很好的结果,但是当多于一列的值都为空时如何填充缺失的值。

鉴于您不能删除列,均值/中位数/众数给出基本结果。

我们可以使用sklearn.Impute.KNNImputerfancyimputer.KNN

from fancyimpute import KNN 
train_cols = list(train)
train = pd.DataFrame(KNN(k=5).complete(train))

但是如果大多数列中缺少值(例如6/10列中至少有3-60个丢失值(在900个值中))会很好用

0 个答案:

没有答案