首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理80%以上缺失的特征

如何处理80%以上缺失的特征
EN

Stack Overflow用户
提问于 2022-06-14 05:23:12
回答 1查看 117关注 0票数 -1

我正在处理一个非常糟糕的临床数据集,它有300个样本,400个特性,将用于机器学习。我的顾问告诉我这个数据集中一些具有生物学意义的特性,并要求我保留它们,但其中许多功能丢失了50%以上,甚至超过80%。我该怎么办?填充模式是否会影响它们的性能。

EN

回答 1

Stack Overflow用户

发布于 2022-06-14 08:47:31

简单地说,模型性能不应该降低,即使丢失的数据所占比例很大,也不应该考虑适当的估算方法和随机丢失的数据。然而,选择合适的方法需要EDA和测试。

这些特征是数字的还是绝对的?那目标呢?

即使它们是有意义的,但这并不意味着它们还会影响目标。如果这是一个分类问题,最好是研究这些变量在给定目标时的分布情况,然后运行t检验/u检验来检查是否存在统计上的显着差异。如果没有,那么您就有正当的理由删除一个特性。对于回归情况,您可以研究相互信息、相关性和散点图。如果特征和目标都是绝对的,那么运行x-平方测试等。

计算数值可能很棘手,因为我们通常不知道生物学中的基本分布。不过,你在最坏的情况下得到的60个样本应该足够估计了。你应该研究它,看看计算平均值/中位数/组中位数/零/等等是否有意义。可悲的是,这里没有一个完美的方法,你必须测试是什么让你的模型表现得最好。

其他可能的伎俩:

KNNImputer).

  • Impute

  • 首先尝试预测丢失的值(或者使用类似于TruncatedSVD).

  • Try的值--您选择的),添加一个二进制特性,表示该值是否为reliable.

  • Impute零,并尝试一种处理稀疏向量的降维技术(例如,TruncatedSVD).

  • Try模型,它可以以健壮的方式处理丢失的数据(如XGBoost)。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72611870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档