【问题标题】:How to view all classified instances in WEKA API如何在 WEKA API 中查看所有分类实例
【发布时间】:2013-04-09 09:18:45
【问题描述】:

我想查看我的分类实例。

我尝试过这样的事情:

for(int i = 0; i < dataSet.size(); i++) {
    double pred = nowy.classifyInstance(dataSet.instance(i));
    double actual = dataSet.instance(i).classValue();
    double[] dist = nowy.distributionForInstance(dataSet.instance(i));

    if (pred != actual)
    {
        System.out.print((i+1));
        System.out.print(" - ");
        System.out.print(dataSet.instance(i).toString(dataSet.classIndex()));
        System.out.print(" - ");
        System.out.print(dataSet.classAttribute().value((int) pred));
        System.out.print(" - ");

        if (pred != dataSet.instance(i).classValue())
            System.out.print("no");
        else
            System.out.print("yes");
        System.out.println();

    }

}

但似乎效果不佳,因为正确/错误分类的实例数量与统计输出不同。

【问题讨论】:

    标签: java classification weka prediction


    【解决方案1】:

    您还可以使用 WEKA API 中提供的评估类一次性测试所有实例。

    Instances trainData = ds.getDataset(); //get training dataset
    
    SMO sm = new SMO(); //build classifier
    
    sm.buildClassifier(data); //train classifier
    
    Instances testData = ds.getDataSet(); //now get the test set
    
    Evaluation eval = new Evaluation(data); //for recording results
    
    eval.evaluateModel(sm, testData);
    
    System.out.println(eval.toMatrixString()); //gives the confusion matrix for predictions
    

    【讨论】:

      猜你喜欢
      • 2015-06-25
      • 1970-01-01
      • 2012-03-25
      • 2011-07-30
      • 2013-05-13
      • 2012-06-30
      • 2015-02-01
      • 2011-09-07
      • 2011-12-10
      相关资源
      最近更新 更多