私はPythonでグラフを描画するためにPYDOT使用しています。 私は決定木を表現したい、と言うようなもの(A1、A2、A3は属性であり、2つのクラスは、0と1のとおりです。pydot:2つの異なるノードを同じ文字列でプロットすることは可能ですか?
a1>3
/ \
a2>10 a3>-7
/\ /\
1 0 1 0
しかし、PYDOTを使用して、2つだけ葉が作成され、木されていますロジックは結構です、この単純なケースでは、
a1>3
/ \
a2>10 a3>-7
| X |
1 0
今が、大きな木では異なるブランチに属する乱雑内部ノードが統一されている
I」は単純なコードを:この(添付PNG)のように見えます。使用方法:
import pydot
graph = pydot.Dot(graph_type='graph')
edge = pydot.Edge("a_1>3", "a_2>10")
graph.add_edge(edge)
edge = pydot.Edge("a_1>3", "a_3>-7")
graph.add_edge(edge)
edge = pydot.Edge("a_2>10", "1")
graph.add_edge(edge)
edge = pydot.Edge("a_2>10", "0")
graph.add_edge(edge)
edge = pydot.Edge("a_3>-7", "1")
graph.add_edge(edge)
edge = pydot.Edge("a_3>-7", "0")
graph.add_edge(edge)
graph.write_png('simpleTree.png')
また、エッジを作成してグラフに追加する以外のノードオブジェクトを作成しようとしましたが、新しいノードを作成するのではなく、ノードプールで同じ名前のノードをチェックしているようです。
アイデア?ありがとう!