Мне нужно реализовать классификатор Weka, который стандартизирует входные данные перед обработкой.Для этого я использую следующий код:
private Filter standardize = new Standardize();
...
public void buildClassifier(Instances instances) throws Exception {
if (this.stdAtt) {
this.standardize.setInputFormat(instances);
instances = Filter.useFilter(instances, this.standardize);
}
....
}
Теперь, чтобы классифицировать один экземпляр, мне также необходимо стандартизировать его перед фактической классификацией с использованием того же фильтра Standardize
.Но Filter.useFilter
принимает только Instances
в качестве аргумента, а не Instance
.
public double classifyInstance(Instance instance) throws Exception {
if (this.stdAtt) {
// standardize instance before processing
}
return super.classifyInstance(instance);
}
Как я могу это сделать?Или я должен реализовать свой собственный стандартизатор?