Weka中名义属性的缺失值
Posted
技术标签:
【中文标题】Weka中名义属性的缺失值【英文标题】:Missing values for nominal attribute in Weka 【发布时间】:2014-09-18 01:50:12 【问题描述】:我有一个数据集,我正在使用Weka NaiveBayes 分类器进行分类。我有 14 个属性,其中一些是名词。
在这些属性之一中,我有一些缺失值。到目前为止,我所做的是将它们作为缺失值保留,并且我知道 Weka 会自动替换这些值(有人问here 关于这个问题)。
我的意思是,这个属性的值在我的功能文件中是空的,当我创建 ARFF 文件时,我看到“?”在两个逗号之间。
现在,我有两种可能: 1)让Weka自动填充它们。 2) 将它们替换为“NULL”。
问题在于,在第一种情况下,分类器效果更好。现在,我想知道是否允许让他们被Weka取代?还是应该使用第二种方法,即使结果更差?
我的意思是,“什么时候”我们应该让 Weka 替换缺失的值?什么时候不?
同时,具有缺失值的特征表示单词的WordNetsupersense,当它为空时,表示该实例是介词,或WH问题。
提前致谢,
【问题讨论】:
【参考方案1】:好吧,关于缺失值,weka 默认情况下不会替换它们,您必须使用过滤器(就像您在问题中首先链接的帖子一样)。一些分类器可以处理缺失值,我认为朴素贝叶斯可以,只是不要在概率计算中计算它们。所以基本上你有三个选择。使用 ReplaceMissingValues 过滤器将缺失值替换为模式值,不要使用过滤器并使用带有缺失值的数据集(在这种情况下,我建议您查看 Naive Bayes 的工作原理,以了解如何处理您的缺失值以及是否处理对你有好处)和最后的选择,用你自己的标签替换你的缺失值,比如“其他值”左右。正确选择的关键可能在您的最后一段中,这表明您的缺失值可能意味着什么。如果是这样,我将使用第三种方法——你的新标签。另一方面,如果缺失值没有任何意义,只是数据收集中的一些错误的结果,我会考虑前两种方法。祝你好运。
【讨论】:
以上是关于Weka中名义属性的缺失值的主要内容,如果未能解决你的问题,请参考以下文章
使用测试集中的缺失值评估 weka 分类器 J48,R RWeka