微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可以删除数据集中缺失值的百分比?

如何解决可以删除数据集中缺失值的百分比?

我目前正在处理一个数据集。我有 8% 的数据在不同的列中有缺失值。可以删除缺失值的行吗?

数据集大小:200,000

缺失值的数据:16000

我是否可以排除这 16000 行并仍然开发一个好的模型,或者这是否会在模型开发中造成任何显着问题?

解决方法

如果对您的数据集了解不多,就很难说。

我建议您尝试确定丢失的数据是否存在任何模式。您可以使用 seaborn heatmap 直观地执行此操作:sns.heatmap(df.isnull(),cbar=False),或者使用 impyute library 中提供的 Little's MCAR 测试(完全随机缺失)等方法进行分析。如果您有相对较小百分比的完全随机缺失的缺失值,您可能可以在分析中删除它们,但我会保持谨慎。

如果您确定数据不是完全随机缺失的,那么通常您应该尝试对数据进行插补,这意味着您以某种方式填充它(例如,用每列的平均值或中位数来插补缺失值) .但是,用平均值或中位数填充缺失值绝对是一种快速而肮脏的解决方案,因为它确实会给您的数据集带来偏差。

还有更复杂的方法,例如 multivariate feature imputation,它们试图通过分析缺失数据中多个特征之间的模式来减少偏差 - 一个很好的起点是 impute module from scikit learn

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。