如何计算 Java Weka Api 中类的预测概率?

数据挖掘 分类 爪哇 威卡
2021-10-01 06:57:35

我正在使用 Java Weka api 开发一个预测模型。我可以使用以下代码预测新实例的类:

double predictClass = classifer.classifyInstance(instance)

但是,我需要类概率而不是类值。预先感谢您的支持。

2个回答

欢迎来到社区!您可以用以下代码替换您的代码。

double[] prediction=classifier.distributionForInstance(instance);

    for (int k<prediction.length; k++){
    System.out.println("Probability of class "+
      trains.classAttribute().value(k)+
       " : "+Double.toString(prediction[k]));
      }

此循环打印所有四个值。
希望它会帮助你。

它工作得很好,非常感谢。有一些更正:

    //Dont forget create new Instance for prediction.
    DenseInstance newinstance = new DenseInstance(2);
    double[] prediction=classifier.distributionForInstance(newinstance);
    //Some correction in for 
        for (int k =0; k<prediction.length; k++){
            System.out.println("Probability of class "+
                    newinstance.classAttribute().value(k)+
                    " : "+Double.toString(prediction[k]));
        }