WEKA:如何区分“缺失”和“不适用”的数字数据?

Posted

技术标签:

【中文标题】WEKA:如何区分“缺失”和“不适用”的数字数据?【英文标题】:WEKA : How to defferentiate numerical data that are 'missing' and 'not applicable'? 【发布时间】:2013-10-30 02:36:27 【问题描述】:

我是 WEKA 的新手。

在我的数据集中,我有一个类型为数字的属性。在数据集中,有特定的值被表示为“缺失值”和“不适用”。

例如

0- 缺失值 99999 - 代表不适用

对于“缺失值”,我可以使用“?”来表示它,但是对于“不适用”呢?

我的问题是:- 1)我们如何告诉 WEKA 在计算平均值或标准差时不要包含“不适用”值? 2)“不适用”值如何影响分类结果?

谢谢。

【问题讨论】:

【参考方案1】:

这实际上可能是一个更适合 stats.stackexchange.com 的问题,尽管我承认这是一个特定于 WEKA 的问题。现在,WEKA 中可能有模型可以很好地处理缺失值的问题。我不知道 WEKA,但我可能有决策树实现可以为您优雅地处理这个问题。

但是,您可能需要先做一些更基本的考虑,因为缺少特征值是一个难题。无论如何,这些考虑都必须通过 WEKA 中的任何自动功能来进行,因此最好使用您的领域知识事先完成它们。..

“不适用”是该功能缺失的一种方式。因此,根据您的数据集,“缺失”和“不适用”之间可能有区别,也可能没有区别。在调用一个值“缺失”时,你只是在说你没有这个值。为什么不见了?

功能缺失的潜在原因有很多,其中一些比其他更有害。在这种情况下,主要有三种选择:

    删除所有缺失值的记录 删除任何具有缺失值的特征 用一些“猜测”替换任何缺失的值,该值应该是什么。这称为插补。

显然,最保守和最安全的选择就是简单地删除该功能。在此过程中,创建一个额外的指标特征会很有用,它可以简单地指示原始特征是否丢失。这些信息可能有助于拟合一个好的模型。

在选择这三种方法中的哪一种时,需要考虑几件事情。

您确定 99999 是由显式 NA 决策生成的,而不是通过与 0 相同的机制生成的吗?零是通过什么机制生成的,因为您只是将它们描述为“缺失”? 这些特征值表示缺失值的常见程度如何?缺失的特征值越多,案例删除或特征插补的风险就越大。 如果您认为插补有价值,您的领域知识能否帮助您选择合适的值?例如,如果一个值仅在偏离某个值(例如高血压)时才输入,而在其处于预期水平时留空,则在缺失的情况下将该值插补是合理的。

【讨论】:

以上是关于WEKA:如何区分“缺失”和“不适用”的数字数据?的主要内容,如果未能解决你的问题,请参考以下文章

Weka 决策树预测 NA 对缺失值的处理

ARFF (Weka) 中的缺失值

Weka中名义属性的缺失值

Weka中的分类器选项变灰[关闭]

区分Protobuf 3中缺失值和默认值

使用测试集中的缺失值评估 weka 分类器 J48,R RWeka