0

我需要实现一个 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);
    }
    ....
}

现在,要对单个 Instance 进行分类,我还需要在使用相同的Standardize过滤器进行实际分类之前对其进行标准化。但Filter.useFilter只接受Instances作为参数 - 而不是Instance.

public double classifyInstance(Instance instance) throws Exception {
    if (this.stdAtt) {
        // standardize instance before processing
    }
    return super.classifyInstance(instance);
}

我该怎么做?或者我应该实现自己的标准化程序?

4

0 回答 0