我有一个分类项目,其中一些列/特征具有超过 90% 的空值。我该如何处理它们?

Posted

技术标签:

【中文标题】我有一个分类项目,其中一些列/特征具有超过 90% 的空值。我该如何处理它们?【英文标题】:I have a classification project where some of the columns/features have more than 90% null values. How do I handle them? 【发布时间】:2017-10-06 22:39:50 【问题描述】:

在我的分类问题中,85 个特征中的一些特征(~5 个)大多具有空值(>90%)。我如何处理这些值?我呢,

1) 完全忽略这些列/功能

2) 尝试估算这些值,如果可以,如何?

3) 还有其他方法吗?

我从随机森林开始,我是这种方法的新手,随机森林本身是否处理空值?我该如何实施?随机森林是如何做到这一点的?我在哪里可以了解这一点 - 任何参考都将受到欢迎。

提前致谢。

【问题讨论】:

这对 SO 来说不是一个好问题,因为它 a) 与编程无关,b) 太宽泛了。我建议自己尝试一下(很容易通过运行它来查看 RF 是否处理空值)并删除此帖子并在Cross Validated 提出更集中的问题 【参考方案1】:

您是否尝试过在数据集上运行神经网络,即使特征缺失?神经网络不需要所有特征都存在。

您可以简单地将神经网络的所有缺失特征值设置为0,因为神经网络看不出0feature is missing 之间的差异。你为什么不问?如果您将输入值设置为 0,这意味着来自该输入节点的所有连接都将具有 0 值 a well:不向连接到该输入节点的隐藏神经元添加任何内容。

但在尝试之前,请先问自己一个问题:如果某些特征经常丢失,它对数据集预测是否重要?

【讨论】:

以上是关于我有一个分类项目,其中一些列/特征具有超过 90% 的空值。我该如何处理它们?的主要内容,如果未能解决你的问题,请参考以下文章

对属于不同类别的具有非常相似特征的图像进行分类

这9个特征工程的使用技巧,解决90%机器学习问题

在 spark mllib 分类器中处理 null/NaN 值

具有分类特征的线性回归分析

一种热编码分类特征 - 仅稀疏形式

使用 sklearn - python 具有分类特征的多元线性回归