次の内容のテキスト ファイル (weather.txt など) があるとします。
outlook = sunny
| humidity <= 75: yes (2.0)
| humidity > 75: no (3.0)
outlook = overcast: yes (4.0)
outlook = rainy
| windy = TRUE: no (2.0)
| windy = FALSE: yes (3.0)
Java でこのテキストを J48 オブジェクトとして読み取る方法はありますか。
現在、データファイル「data.txt」(arff形式)があります:
@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);
私の目的は、これらの木をテキスト ファイルに保存することです。そしてそれらを読み返します。Javaでそれらを読む方法は?