始める無料で始める

決定木のルールを分解して理解する

この演習では、決定木から if-else のルールを抽出し、可視化してチャーンの主な要因を見つけます。

学習済みの決定木インスタンスは mytree として、スケーリング済みの特徴量は train_X という pandas の DataFrame として読み込まれています。sklearn ライブラリの tree モジュールと graphviz ライブラリもすでにインポート済みです。

出力を見やすくするため、display(graph) の代わりに独自の display_image() 関数を使用しています。

この演習はコースの一部です

Pythonで学ぶマーケティングのための機械学習

コースを見る

演習の手順

  • 学習済みの決定木から graphviz オブジェクトを書き出します。
  • 特徴量名を指定します。
  • 精度を 1 に設定し、クラス名を追加します。
  • graphvizSource() 関数を呼び出し、書き出した graphviz オブジェクトを渡します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Export graphviz object from the trained decision tree 
exported = tree.___(decision_tree=mytree, 
			# Assign feature names
            out_file=None, ___=train_X.columns, 
			# Set precision to 1 and add class names
			precision=1, ___=['Not churn','Churn'], filled = True)

# Call the Source function and pass the exported graphviz object
graph = graphviz.___(exported)

# Display the decision tree
display_image("/usr/local/share/datasets/decision_tree_rules.png")
コードを編集して実行