Advertisement

机器学习Python库scikit-learn利用随机森林填补数据缺失

阅读量:

文章目录

  • 概述
  • 填充思路
  • 原始数据
  • 实现代码
  • 训练模型比较
  • 总结

概述

在现实中收集到的数据往往不可避免地存在不完整的情况,在这种情况下通常会遇到缺失值的问题。面对这种情况,“剔除含有缺失值的样本”是一种常用的做法;然而,在某些情况下,“通过填补缺失值”的方法能够展现出更好的效果。“尽管如此”,我们有时并不清楚这些缺失数据的真实分布情况。在Python机器学习库scikit-learn中提供了一个便捷的方法——sklearn.impute.SimpleImputer——用于将均值、中位数或其他常见数值填入到数据中的缺失位置;具体实现方式可参考此处链接中的详细说明。在这个具体的案例研究中,“我们将采用随机森林算法来进行数据填补工作。”

填充思路

假设我们面对的数据集包含n个特征,在某个特定的特征T中存在缺失值的情况下,则将该特征视为目标变量,并将其剩余的信息与其他n-1个原始变量信息共同构成新的数据矩阵。随后针对目标变量T而言,在其非缺失区域我们定义其对应的训练样本集合为y_train,并将其对应的输入数据标记为X_train;而其缺失区域则成为我们需要预测的目标变量区域(记为y_predict),同时对应的输入数据标记则为X_test。在实际操作中如果遇到多个变量同时存在缺失的情况,则应优先

全部评论 (0)

还没有任何评论哟~