Groovy調用Weka生成決策樹

運行效果:
[img]http://dl.iteye.com/upload/attachment/0080/0077/807e082d-9e85-33e5-a339-476199292ceb.png[/img]

Groovy代碼:

import weka.classifiers.Classifier
import weka.classifiers.trees.J48
import weka.core.Instances
import weka.core.converters.ArffLoader
import weka.gui.treevisualizer.PlaceNode2
import weka.gui.treevisualizer.TreeVisualizer

import javax.swing.JFrame
import java.awt.BorderLayout

/**
Weka的決策樹分析功能測試
@author bruce.lin.chn
@version 2013-01-29
*/


Classifier classifier= new J48()
ArffLoader arffLoader=new ArffLoader()
arffLoader.setFile(new File("../cpu.with.vendor.arff"))

Instances instancesTraining=arffLoader.getDataSet()
instancesTraining.setClassIndex(0)

println "共加載:"+instancesTraining.numInstances().toString()
classifier.buildClassifier(instancesTraining)

println "訓練完畢!"

TreeVisualizer treeVisualizer=new TreeVisualizer(null, classifier.graph(), new PlaceNode2())
JFrame jFrame=new JFrame("決策樹測試:J48")
jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
jFrame.setSize(1024, 600)
jFrame.getContentPane().setLayout(new BorderLayout())
jFrame.getContentPane().add(treeVisualizer, BorderLayout.CENTER)

jFrame.setVisible(true)
treeVisualizer.fitToScreen()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章