首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >示例代码用于(moa PairedLearners)

示例代码用于(moa PairedLearners)
EN

Stack Overflow用户
提问于 2017-12-01 14:26:32
回答 1查看 739关注 0票数 3

你好,我刚开始使用MOA和WEKA,

我需要用这段代码测试成对的学习者概念,我已经能够找到代码,但我在网上找不到任何例子,我很难弄清楚如何将我的数据写入代码,运行测试并查看我的结果。请任何人给我一个正确的方向,或者给我一些我可以遵循的方法来实现这一点。

moa/moa/src/main/java/moa/classifiers/meta/PairedLearners.java

尝试使用类似的代码:https://groups.google.com/forum/#!topic/moa-development/3IKcguR2kOk

诚挚的问候。//示例代码

代码语言:javascript
复制
import moa.classifiers.meta.pairedLearner;

Public class SamplePairedlearner{
public static void main(String[] args) {
    FileStream fStream = new FileStream();
    fStream.arffFileOption.setValue("test.arff");// set the ARFF file name
    fStream.normalizeOption.setValue(false);// set normalized to be true or false
    fStream.prepareForUse();
int numLines = 0;
PairedLearner learners = PairedLearners();
learners.resetLearning();
learners.resetLearningImpl(); //this is where i get an error message
ClusteringStream stream = fStream;
    while (stream.hasMoreInstances()) {
        Instance curr = stream.nextInstance().getData();
        learners.trainOnInstanceImpl(curr)//this line also generates an error
        numLines++;
    }
    Clustering resDstream = dstream.getClusteringResult();
    dstream.getMicroClusteringResult();
    System.out.println("Size of result from Dstream: " + resDstream.size());
    System.out.println(numLines + " lines have been read");
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-07 11:25:15

我可以修复你的代码,但这对你没有多大好处。MOA有自己选择的任务和评估器,用于在更高的层次上运行这些实验。这就是如何正确地运行评估,而不是深入到代码中。我假设有几件事:

  1. 我们使用PairedLearners作为分类器。
  2. 我们评估了流分类的性能。
  3. 我们以预测序列(prequential)的方式进行评估,即训练,然后对序列中的每个示例进行测试。

因此,我们可以非常简单地定义任务,如下所示。

代码语言:javascript
复制
public class PairedLearnersExample {

    public static void main(String[] args) {

        ArffFileStream fs = new ArffFileStream(PairedLearnersExample.class.getResource("abalone.arff").getFile(), -1);
        fs.prepareForUse();

        PairedLearners learners = new PairedLearners();

        BasicClassificationPerformanceEvaluator evaluator = new BasicClassificationPerformanceEvaluator();

        EvaluatePrequential task = new EvaluatePrequential();
        task.learnerOption.setCurrentObject(learners);
        task.streamOption.setCurrentObject(fs);
        task.evaluatorOption.setCurrentObject(evaluator);

        task.prepareForUse();

        LearningCurve le = (LearningCurve) task.doTask();

        System.out.println(le);

    }

}

如果你想做其他的任务,你可以很高兴的交换评估器,流和学习者来实现你想做的任何事情。

如果您引用MOA手册,您将看到我所做的一切都是模仿命令行命令--如果您愿意的话,您也可以在命令行执行此评估。

例如,

代码语言:javascript
复制
java -cp .:moa.jar:weka.jar -javaagent:sizeofag.jar moa.DoTask \
"EvaluatePrequential -l PairedLearners \
-e BasicClassificationPerformanceEvaluator \
-s (ArffFileStream -f abalone.arff) \
-i 100000000 -f 1000000" > plresult_abalone.csv
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47595512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档