コメントはまだありません概要PythonにはETEという木構造を可視化するためのライブラリがあります。これを使うと、下記のようなユニークな図が描けます。本記事ではこのモジュールの使い方について紹介したいと思います。以下は私がETEを使って作成した決定木(Irisで作成)のサンプル画像です。ETEを使うと、クラスの画像を表示したり、リーフのデータの特徴を棒グラフで表示したりと、表現の高い決定木が描けることが伝わるのではないでしょうか。棒グラフ一方、ETEではTreeオブジェクトに大きく3つの要素があり、それぞれが上記に示す各情報と次のように対応しています。Node:決定木構造Style:木の表示方法(サンプルでは横向きを指定)Face:それ以外(文字やグラフ等)作成手順オブジェクトの作成手順は1インスタンス作成、2Node定義、3Face追加、4表示方法指定です。以下順番に説明していきます。インスタンス作成インスタンス作成は、Treeクラスを呼び出して実行します。何もないオブジェクトを作成してみます。Tree.show()Tree.showと入力することで、ETEの専用ビューワーが開きます。何もないオブジェクトの場合、以下のように表示されるはずです。次に簡単な構造を指定してみましょう。インスタンス作成時に適当な構造を指定してみます。Tree.show()Tree.showと入力することで、ちゃんと木構造が認識されていることが分かります。後付けで構造を定義したい場合にはsearch_nodesを使って親ノードを切り替えながら、add_childを使います。Tree.show()Tree.showとすれば、同様の木構造が得られます。その他、ファイルからの読み書きや各種フォーマットに対応しており、詳細は公式のチュートリアルを参考にしてみてください。上記で定義した木構造から特定のノードをsearch_nodes等を用いて選択し、別途定義した各種Faceを加えることで木に様々な要素を追加できます。Tree.show()ImgFaceで画像を、TextFaceで文字列のFaceを定義しています。add_faceで追加するFaceと順番(column)と場所(position)を指定し、ノードAに追加しています。Tree.showとすると、文字列や写真が追加されていることが分かります。その他のFaceやオプション引数の説明に関しては、ETEマニュアルの該当ページを確認してみてください。表示方法指定TreeStyleを用いることで、木構造の表示オプションを指定できます。何はともあれやってみましょう。Tree.show(tree_style=ts)tsという変数をTreeStyleのインスタンスにし、細かい画面表示のオプションをしてしています。Tree.showとすると、ちょっと不思議?な円型の木構造が表示されています。その他の各種Faceや表示のためのオプション引数の説明に関しては、同様にETEマニュアルの該当ページを確認してみてください。その他ここでは紹介できませんが、上記で紹介した手順の内容以外にもNodeStyleやClusterTree等、様々な要素があります。まとめ木構造をシャレオツ?に可視化できるライブラリ:ETEの使い方をご紹介しました。便利で可能性の高いツールだと思いますので、皆様も是非試してみてください。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。プロフィール兵庫県在住の30代データサイエンティスト。Pythonを使った機械学習等によるデータ分析や、ウェブアプリ等のシステム開発に取り組んでいます。