Java 有没有办法从文本文件中读取J48修剪过的树?

Java 有没有办法从文本文件中读取J48修剪过的树?,java,weka,j48,Java,Weka,J48,给定包含以下内容的文本文件(例如weather.txt): 我当前的代码(如下)正在打印上面的树: J48 cls = new J48(); Instances inst = new Instances(new BufferedReader(new FileReader("data.txt"))); inst.setClassIndex(inst.numAttributes() - 1); cls.buildClassifier(inst); weka.

给定包含以下内容的文本文件(例如weather.txt):

我当前的代码(如下)正在打印上面的树:

    J48 cls = new J48();
    Instances inst = new Instances(new BufferedReader(new FileReader("data.txt")));
    inst.setClassIndex(inst.numAttributes() - 1);
    cls.buildClassifier(inst);

    weka.core.SerializationHelper.write("j48.model", cls);

    J48 cls2 = (J48) weka.core.SerializationHelper.read("j48.model");
    System.out.println(cls2);

我的目标是将这些树保存在文本文件中。然后把它们读回来。如何在java中读取它们?

为什么不将J48的toString写入一个文件,然后读取它?是的。因此,基本上我已经为同样的问题构建了一个手动解析器。但我相信应该有一些图书馆来做这件事。
@relation weather

@attribute outlook {sunny, overcast, rainy}
@attribute temperature numeric
@attribute humidity numeric
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}

@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no
    J48 cls = new J48();
    Instances inst = new Instances(new BufferedReader(new FileReader("data.txt")));
    inst.setClassIndex(inst.numAttributes() - 1);
    cls.buildClassifier(inst);

    weka.core.SerializationHelper.write("j48.model", cls);

    J48 cls2 = (J48) weka.core.SerializationHelper.read("j48.model");
    System.out.println(cls2);