我有一个数据集,我正在使用Weka NaiveBayes分类器进行分类。我有14个属性,其中一些属于名义。
只有其中一个属性,我有一些缺失的值。到目前为止我所做的是我将它们作为缺失值留下,我知道Weka会自动替换这些值(问题here有关此问题)。
我的意思是,我的功能文件中此属性的值为空,当我创建ARFF文件时,我看到“?”两个逗号之间。
现在,我有两种可能性: 1)让Weka自动填充它们。 2)用“NULL”替换它们。
问题是在第一种情况下,分类器效果更好。现在,我想知道是否允许它们被Weka取代?或者我应该使用第二种方法,即使我的结果更差?
我的意思是,“什么时候”我们应该让Weka取代缺失值?何时不是?
同时,具有缺失值的功能表示单词的WordNet supersense,当它为空时,表示该实例是例如介词或WH问题。
提前致谢,
答案 0 :(得分:1)
好吧,关于缺失值,weka默认不替换它们,你必须使用过滤器(就像你在问题中首先链接的帖子一样)。一些分类器可以处理缺失值,我认为Naive Bayes可以,只是不计算它们的概率计算。所以基本上你有三个选择。使用ReplaceMissingValues过滤器用模式值替换缺失值,不要使用过滤器并使用缺少值的数据集(在这种情况下,我建议您查看Naive Bayes如何工作,以了解如何处理您的缺失值以及是否对你有好处)和最终选项,用你自己的标签替换你的缺失值,如“其他值”左右。正确选择的关键可能在你的最后一段,这表明你的缺失值可能意味着什么。如果是这样,我将使用第三种方法 - 您的新标签。另一方面,如果缺失值并不意味着什么,只是数据收集中的一些错误的结果,我将考虑前两种方法。祝你好运。