1

我正在使用 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 中的过滤器效果很好)。问题是什么?我在代码中使用得很好吗?

4

1 回答 1

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);
于 2013-09-11T15:07:06.943 回答