我正在使用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 中的过滤器运行良好)。问题是什么?我在代码中使用得好吗?
最佳答案
我是这样解决的:
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);
关于java - Weka 过滤器消除无用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744264/