我想用MICE、KNN和软插补对FANYIMPUTE软件包中的插补值进行比较,然而,当我运行代码时,KNN和软插补只为我的值插补0,而MICE插补的值更为敏感。在
imputed_numerical=train[['Age']].select_dtypes(include='number']).as_matrix()
Age_MICE=MICE().complete(imputed_numerical)
Age_KNN=KNN(k=3).complete(imputed_numerical)
Age_SoftImpute=SoftImpute().complete(imputed_numerical)
我把结果放在一个数据帧中,如下所示:
^{pr2}$问:为什么KNN和软插补只插补0作为完成值?在
问题是这些都是多变量过程,但您只使用一个变量(列)。MICE执行多元回归,KNN取最接近多维空间中缺失值的N个邻域的平均值(每个维度都是一个变量),我不确定软插补,但它可能也是一个多元过程。在
例如,请参阅knn程序中的以下警告消息:
或者来自SoftImpute的警告:
^{pr2}$相关问题 更多 >
编程相关推荐