2012-04-22 197 views
0

代替缺失值,有一个名为“ReplaceMissingValues”的过滤器,允许使用每个属性的平均值替换数据集中的所有缺失值。我想使用属于某个类的值的均值来替换某个属性的缺失值。例如,在一个二进制数据集中,我认为使用仅用属于正类的记录计算的均值来替代属于正类的记录中的属性的缺失值是更正确的。那么如何才能实现它呢?我们如何才能替换属于某个类的记录的值?在Weka中用均值(Weka)

回答

1

如果你想采取从特定类A的训练实例计算出的平均值来代替A级的缺失值,那么你是“偏见”荷兰国际集团的数据集。为了避免偏差(最终会过度训练你的训练模型),使用默认的“替换缺失值”功能是明智的 - 即考虑所有训练实例的平均值和模式,而不仅仅是该特定类。

+0

我工作的医疗数据集,所以我因子评分也可能是更加“现实”与类的平均值,该记录属于更换。我也会尝试替换缺失值函数,但是我希望能够在不修改原始数据文件的情况下尝试我的想法(一个xls文件!) – 2012-04-23 16:52:24

+0

正如我所说,你很有可能过度拟合训练好的模型。因为在现实生活中,看不见的数据更可能具有特征X,其特征值其实并不是特定类别的特征。如果你使用这个设置训练你的模型,那么模型只会知道“特征X的值实际上更接近任何特定A类的均值” - 如果不是这样的话,那么肯定是你你的模型已经过时了。 – 2012-04-23 18:18:55

+0

我尝试了您的建议(使用J48构建的树),结果比使用缺失值的结果要糟糕!这怎么可能? – 2012-04-24 09:37:28