2011-02-01 5 views
3

自分のプログラムでWEKAクラスを使用して、 。具体的には、J48(C4.5実装)とRandomTreeという2つの異なるものを使用しています。 1つは関数graph()を持ち、もう1つはtoGraph()という関数を持ち、それぞれのクラスで同じ機能を持つように見えます。そのExplorerのアプリを使用しているとき、私はあなたが見るもののようなものを見て期待していた彼らの戻り値の型として、それらの両方がjava.lang.Stringでを示しているのでgraph()またはtograph()を使用して、WEKAの意思決定ツリーのグラフィカル表現(ASCIIテキストグラフィックス)を表示する方法

は:

act = STRETCH 
| size = SMALL 
| | Color = YELLOW 
| | | age = ADULT : T (1/0) 
| | | age = CHILD : F (1/0) 
| | Color = PURPLE 
| | | age = ADULT : T (2/0) 
| | | age = CHILD : F (1/0) 
| size = LARGE 
| | age = ADULT : T (4/0) 
| | age = CHILD : F (2/0) 
act = DIP : F (8/0) 

は、代わりに私はこのような何かを得る:

digraph Tree { 
edge [style=bold] 
N13aaa14a [label="1: T"] 
N13aaa14a->N268b819f [label="act = STRETCH"] 
N268b819f [label="2: T"shape=box] 
N13aaa14a->N10eb017e [label="act = DIP"] 
N10eb017e [label="3: F"] 
N10eb017e->N34aeffdf [label="age = CHILD"] 
N34aeffdf [label="4: F"shape=box] 
N10eb017e->N4d20a47e [label="age = ADULT"] 
N4d20a47e [label="5: T"shape=box] 
} 

これはWEKAライブラリに固有のものか、これが標準Java形式のものですか?それは私が別のプロジェクトで作業しているのを見たJSONのものと似ていますが、私はそれに精通していません。

人間が読める形式で表示するための簡単な方法はありますか?

答えて

2

出力は、graphvizによってコンパイルされるように設計されたいわゆる「ドット」形式です。あなたはASCIIアートよりも良い結果を得るでしょう、それは確かです。

out.dotでファイルを保存してから、このコマンドを実行してください:

$ dot -Tpng -oout.png out.dot 

次にあなたが

+0

をout.pngに持っているものを見て、あなたの迅速、便利な答えをありがとう! – Matt

関連する問題