weka决策树java

时间:2014-09-29 09:01:02

标签: java weka decision-tree

我想列出所有预测。

我有这段代码:

//Get File
        BufferedReader reader = new BufferedReader(new FileReader(PATH + "TempArffFile.arff"));

        //Get the data
        Instances data = new Instances(reader);
        reader.close();

        //Setting class attribute 
        data.setClassIndex(data.numAttributes() - 1);

        //Make tree
        J48 tree = new J48();
        String[] options = new String[1];
        options[0] = "-U"; 
        tree.setOptions(options);
        tree.buildClassifier(data);

        //Print tree
        System.out.println(tree);

它工作正常我可以看到树打印,但不知道如何从这里使用它。 我想为每个root创建一个列表,我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果您想要所有测试预测的列表,可以使用以下代码(提供示例代码here):

 import weka.core.Instances;
 import weka.classifiers.Evaluation;
 import weka.classifiers.trees.J48;
 ...
 Instances train = ...   // from somewhere
 Instances test = ...    // from somewhere
 // train classifier
 Classifier cls = new J48();
 cls.buildClassifier(train);
 // evaluate classifier and print some statistics
 Evaluation eval = new Evaluation(train);
 eval.evaluateModel(cls, test);
 System.out.println(eval.toSummaryString("\nResults\n======\n", false));

如果您愿意这样做,也可以使用J48.classifyInstance()来预测单个实例。