【问题标题】:WEKA : How to defferentiate numerical data that are 'missing' and 'not applicable'?WEKA:如何区分“缺失”和“不适用”的数字数据?
【发布时间】:2013-10-30 02:36:27
【问题描述】:
我是 WEKA 的新手。
在我的数据集中,我有一个类型为数字的属性。在数据集中,有特定的值被表示为“缺失值”和“不适用”。
例如
0- 缺失值
99999 - 代表不适用
对于“缺失值”,我可以使用“?”来表示它,但是对于“不适用”呢?
我的问题是:-
1)我们如何告诉 WEKA 在计算平均值或标准差时不要包含“不适用”值?
2)“不适用”值如何影响分类结果?
谢谢。
【问题讨论】:
标签:
machine-learning
data-mining
classification
weka
supervised-learning
【解决方案1】:
这实际上可能是一个更适合 stats.stackexchange.com 的问题,尽管我承认这是一个特定于 WEKA 的问题。现在,WEKA 中可能有模型可以很好地处理缺失值的问题。我不知道 WEKA,但我可能有决策树实现可以为您优雅地处理这个问题。
但是,您可能需要先做一些更基本的考虑,因为缺少特征值是一个难题。无论如何,这些考虑都必须通过 WEKA 中的任何自动功能来进行,因此最好使用您的领域知识事先完成它们。..
“不适用”是该功能缺失的一种方式。因此,根据您的数据集,“缺失”和“不适用”之间可能有区别,也可能没有区别。在调用一个值“缺失”时,你只是在说你没有这个值。为什么不见了?
功能缺失的潜在原因有很多,其中一些比其他更有害。在这种情况下,主要有三种选择:
- 删除所有缺失值的记录
- 删除任何具有缺失值的特征
- 用一些“猜测”替换任何缺失的值,该值应该是什么。这称为插补。
显然,最保守和最安全的选择就是简单地删除该功能。在此过程中,创建一个额外的指标特征会很有用,它可以简单地指示原始特征是否丢失。这些信息可能有助于拟合一个好的模型。
在选择这三种方法中的哪一种时,需要考虑几件事情。
- 您确定 99999 是由显式 NA 决策生成的,而不是通过与 0 相同的机制生成的吗?零是通过什么机制生成的,因为您只是将它们描述为“缺失”?
- 这些特征值表示缺失值的常见程度如何?缺失的特征值越多,案例删除或特征插补的风险就越大。
- 如果您认为插补有价值,您的领域知识能否帮助您选择合适的值?例如,如果一个值仅在偏离某个值(例如高血压)时才输入,而在其处于预期水平时留空,则在缺失的情况下将该值插补是合理的。