Weka库java:如何获取一个分类的前景?

Weka library java: how to get the prospect of a classification?

我目前正在使用以下代码执行分类。

    DataSource source = new DataSource(caminhoDados);
    //System.out.println(source.getStructure());
    Instances data = source.getDataSet();

    // setting class attribute if the data format does not provide this information
    // For example, the XRFF format saves the class attribute information as well
    if (data.classIndex() == -1)
        data.setClassIndex(data.numAttributes() - 1);


    //initialize svm classifier
    LibSVM svm = new LibSVM();
    String opts = "-S 0 -K 0 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.0010 -P 0.1 -seed 1";
    svm.setOptions(weka.core.Utils.splitOptions(opts));

    svm.buildClassifier(data);

    Instance instancia = new Instance(5);
    instancia.setDataset(data);
    instancia.setValue(0, '1');
    instancia.setValue(1, '1');
    instancia.setValue(2, '0');
    instancia.setValue(3, '0');
    double resu = svm.classifyInstance(instancia);


    System.out.println("Predição: " + resu);

此代码 return 是新实例收到的排序。 但是,我还需要 return 算法对分类的保证百分比。 例子: 检测到新实例有 80% 的机会被分类为阳性。

有人能帮帮我吗?

谢谢。

您可以使用 "distributionForInstance()"。这仅适用于能够输出分布预测的分类器。请参阅“How to get predication value for an instance in weka?”。