python - 处理缺失值:当大多数列(重要的列)缺少 99% 的数据时
问题描述
我的一个项目面临着两难境地。很少有变量没有足够的数据,这意味着几乎 99% 的数据观察都丢失了。
我正在考虑几个选择 -
用均值/knn 插补来插补缺失值
用 0 估算缺失值。
在这个方向上我想不出任何东西。如果有人可以提供帮助,那就太好了。
PS 当 99% 的数据丢失时,我对使用平均插补感到不舒服。有人对此有理由吗?请告诉我。
数据有 397576 个观察值,其中以下是缺失值 在此处输入图像描述
解决方案
99%的数据丢失了!!!???好吧,如果您的数据集的示例少于 100,000 个,那么您可能希望删除这些列,而不是通过任何方法进行估算。如果您有一个更大的数据集,那么使用均值插补或 knn 插补将是......好的。这些方法无法捕获数据的统计信息,并且会占用内存。而是使用机器学习的贝叶斯方法,例如通过数据拟合高斯过程或将变分自动编码器拟合到那些稀疏列。
1.)这里有一些链接可以学习和使用高斯过程从数据集中对缺失值进行采样:
什么是随机过程?
如何用 GP 处理缺失值?
2.) 您还可以使用 VAE 来估算缺失值!!!
尝试阅读这篇论文
我希望这有帮助!
推荐阅读
- javascript - 返回RouterLink页面顶部
- rust - 如何将浮点数格式化为第一个有效小数并具有指定的精度
- batch-file - 如何使用之后实际关闭的 BAT 脚本关闭屏幕
- android - Android Studio 升级 3.6.1 问题
- ios - 跟踪 .SCN 文件的下载百分比
- git - 如何将 git 之类的版本控制用于协作笔记本
- c# - 在自适应卡片中,用户提交时如何切换可见性?
- javascript - 电子,在按钮单击时创建主窗口的副本
- json - 将火花数据帧转换为包含 json 数组的 json 文件
- matplotlib - 1:2:1 的 matplotlib 子图