Weka过滤器删除无用的问题

时间:2013-09-11 14:41:07

标签: java filter weka

我正在使用weka进行分类,我尝试使用filter.removeuseless,但是使用相同的arff文件,我发现在代码和GUI中使用它之间存在一些差异。在代码中我以这种方式调用它:

Normalize norm = new Normalize();
norm.setInputFormat(train);
Instances train_norm = Filter.useFilter(train, norm);

RemoveUseless ru = new RemoveUseless();
ru.setInputFormat(train_norm);
Instances train_new = Filter.useFilter(train_norm, ru);


Ranker rank = new Ranker();
InfoGainAttributeEval eval = new InfoGainAttributeEval();
eval.buildEvaluator(train_new);

结果是“奇怪的”,因为过滤器删除了许多属性,GUI保留这些属性作为分类的信息。 (GUI中的过滤器运行良好)。问题是什么?我在代码中使用得很好吗?

1 个答案:

答案 0 :(得分:2)

我解决了这样的问题:

Normalize norm = new Normalize();
norm.setInputFormat(train);
train = Filter.useFilter(train, norm);

RemoveUseless ru = new RemoveUseless();
ru.setInputFormat(train);
train = Filter.useFilter(train, ru);

Ranker rank = new Ranker();
InfoGainAttributeEval eval = new InfoGainAttributeEval();
eval.buildEvaluator(train);