2

我正在我的学校做一个科学项目,我需要对我的数据流使用几个过滤器。我正在使用带有 WEKA 过滤器的 MOA。以下代码是我制作的分类器的一部分,因此我可以将过滤器与 MOA 分类器一起使用。我知道 MOA 有 WEKA 分类器,我可以在其中选择过滤分类器。但是我自己制作,以确保分类器没有测试合成实例。

    @Override
public void trainOnInstanceImpl(Instance instnc) {
    Instance aux;
    Instances  moaNewInstances;
    weka.core.Instances mWekaInstances, mWekaNewInstances;

    mWekaInstances = new weka.core.Instances("WekaInstances", mAttFastVector, windownSize);
    mWekaNewInstances = new weka.core.Instances("WekaNewInstances", mAttFastVector, windownSize);
    moaNewInstances = new Instances("moaNewInstances",mAttList, windownSize);

    if(IsFirst)
    {
        getAttributes(instnc);
        moaInstances = new Instances("moaInstances",mAttList, windownSize);
        IsFirst= false;
    }



    if(cont < windownSize)
    {
        moaInstances.add(instnc);
        cont++;

    }
    else
    {

        cont = 0;
        mWekaInstances = converterToWeka.wekaInstances(moaInstances);

        mFilter.setInputFormat(mWekaInstances);

        mWekaNewInstances = weka.filters.Filter.useFilter(mWekaInstances, mFilter);

        moaNewInstances = converterToMoa.samoaInstances(mWekaNewInstances);
        moaInstances.delete();


        for(int i = 0; i < moaNewInstances.size(); i++)
            mLearner.trainOnInstance(moaNewInstances.get(i));





    } 

}

基本上,只要达到窗口大小,就会应用过滤器。在线条mFilter.setInputFormat(mWekaInstances);mWekaNewInstances = weka.filters.Filter.useFilter(mWekaInstances, mFilter);

然而,这些行给出了一个例外。可能是什么原因?

4

0 回答 0