決定木のルールを分解して理解する
この演習では、決定木から if-else のルールを抽出し、可視化してチャーンの主な要因を見つけます。
学習済みの決定木インスタンスは mytree として、スケーリング済みの特徴量は train_X という pandas の DataFrame として読み込まれています。sklearn ライブラリの tree モジュールと graphviz ライブラリもすでにインポート済みです。
出力を見やすくするため、display(graph) の代わりに独自の display_image() 関数を使用しています。
この演習はコースの一部です
Pythonで学ぶマーケティングのための機械学習
演習の手順
- 学習済みの決定木から
graphvizオブジェクトを書き出します。 - 特徴量名を指定します。
- 精度を 1 に設定し、クラス名を追加します。
graphvizのSource()関数を呼び出し、書き出した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")