数学建模社区-数学中国

标题: 关于缺失值插补的几种方法 [打印本页]

作者: 2744557306    时间: 2023-8-22 10:47
标题: 关于缺失值插补的几种方法
https://zhuanlan.zhihu.com/p/137175585
. v3 F5 F! A1 e* A+ j9 D
KNN插补
https://www.cnblogs.com/panchuangai/p/13390354.html
sklearn.imputer 均值,中位数插补,KNN插补,多重插补都有
# R' `3 \+ g7 L  c% J* Z# Z* B/ ?
RF插补
https://blog.csdn.net/qq_42374697/article/details/108481645
对于一个有n个特征的数据来说,其中特征T有缺失值,我们就把特征T当作标签,其他的n-1个特征 + 原本的标签 = 新的特征矩阵 那对于T来说,它没有缺失的部分,就是我们的 Y_train,这部分数据既有标签也有特征,而它缺失的部分,只有特征没有标签,就是我们需要预测的部分。
特征T不缺失的值对应的其他n-1个特征 + 本来的标签:X_train 特征T不缺失的值:Y_train
特征T缺失的值对应的其他n-1个特征 + 本来的标签:X_test 特征T缺失的值:未知,我们需要预测的 Y_test
那如果数据中除了特征T之外,其他特征也有缺失值怎么办? 答案是遍历所有的特征,从缺失最少的开始进行填补(因为填补缺失最少的特征所需要的准确信息最少)。填补一个特征时,先将其他特征的缺失值用0代替,每完成一次回归预测,就将预测值放到原本的特征矩阵中,再继续填补下一个特征。每一次填补完毕,有缺失值的特征会减少一个,所以每次循环后,需要用0来填补的特征就越来越少。当进行到最后一个特征时(这个特征应该是所有特征中缺失值最多的),已经没有任何的其他特征需要用0来进行填补了,而我们已经使用回归为其他特征填补了大量有效信息,可以用来填补缺失最多的特征。遍历所有的特征后,数据就完整,不再有缺失值了。
notice: code里的实现有些不一样,先用所有没有缺失值的插补缺失值最少的,每个特征插补完成后都当作没有缺失值的数据,在逐个插补缺失值更多的
. _& J/ |" p2 W5 }6 C- V0 Q
缺失值代码附件如下:! a! d6 F- y8 N1 l
  W+ A7 x. F5 R; l
5 |0 j; e7 \  `- x, @- M

* \# d. N' i5 t+ T4 t  |
1 L% U3 L% J: |

缺失值插补.rar

3.44 KB, 下载次数: 1, 下载积分: 体力 -2 点

售价: 5 点体力  [记录]






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5