Netbeans中的大规模在线分析:无法访问检测环境

Dan*_*ong 5 java netbeans machine-learning

我正在尝试在Netbeans中运行大量在线分析(MOA)的演示代码。这是代码:

package javaapplication10_moa;

import moa.classifiers.trees.HoeffdingTree;
import moa.classifiers.Classifier;
import moa.core.TimingUtils;
import moa.streams.generators.RandomRBFGenerator;
import com.yahoo.labs.samoa.instances.Instance;
import java.io.IOException;


/**
 *
 * @author LENOVO
 */
public class JavaApplication10_MOA {

        public JavaApplication10_MOA(){            
        }

        public void run(int numInstances, boolean isTesting){
                Classifier learner = new HoeffdingTree();
                RandomRBFGenerator stream = new RandomRBFGenerator();
                stream.prepareForUse();

                learner.setModelContext(stream.getHeader());
                learner.prepareForUse();

                int numberSamplesCorrect = 0;
                int numberSamples = 0;
                boolean preciseCPUTiming = TimingUtils.enablePreciseTiming();
                long evaluateStartTime = TimingUtils.getNanoCPUTimeOfCurrentThread();
                while (stream.hasMoreInstances() && numberSamples < numInstances) {
                        Instance trainInst = stream.nextInstance().getData();
                        if (isTesting) {
                                if (learner.correctlyClassifies(trainInst)){
                                        numberSamplesCorrect++;
                                }
                        }
                        numberSamples++;
                        learner.trainOnInstance(trainInst);
                }
                double accuracy = 100.0 * (double) numberSamplesCorrect/ (double) numberSamples;
                double time = TimingUtils.nanoTimeToSeconds(TimingUtils.getNanoCPUTimeOfCurrentThread()- evaluateStartTime);
                System.out.println(numberSamples + " instances processed with " + accuracy + "% accuracy in "+time+" seconds.");
        }        

        public static void main(String[] args) throws IOException {
                JavaApplication10_MOA exp = new JavaApplication10_MOA();
                exp.run(1000000, true);
        } 

}
Run Code Online (Sandbox Code Playgroud)

这是输出:

无法访问检测环境。请检查是否在Java的“ -javaagent”命令行参数中指定了包含SizeOfAgent类的jar文件。1000000个实例在5.5秒内以91.0458%的精度进行了处理。建立成功(总时间:5秒)

问题是Netbeans无法访问检测环境,据我了解它类似于配置文件。我已经尝试通过运行->设置项目配置->自定义尝试Netbeans如何在Java中设置命令行参数的建议。将参数设置为-javaagent:sizeofag.jar。但这行不通!:(请帮助我,非常感谢

Vla*_*liy 0

Project->Properties->Run->VM我通常通过这样的选项设置java代理:

-javaagent:"<full path to jar>/target.jar"
Run Code Online (Sandbox Code Playgroud)

此外,我在 netbens 论坛上发现了旧主题“在 NetBeans 中配置 javaagent”,因此它应该可以工作。

PS:请看下面例子

顺便说一句,我下载了 moa-release-2016.04.zip,解压,在 Netbeans 中创建了简单的 java 项目,在库部分添加了路径<path>/moa-release-2016.04/lib/moa-2016.04.jar,然后运行代码,没有任何错误或警告。我什至没有在Run章节中提到javaagent。这是我的输出窗口:

run:
1000000 instances processed with 91.0458% accuracy in 5.480392592 seconds.
BUILD SUCCESSFUL (total time: 5 seconds)
Run Code Online (Sandbox Code Playgroud)