J'étudie en utilisant "100 coups de pratique Python". Je pense que ce livre est vraiment bon car vous pouvez étudier l'analyse des données en utilisant des données proches de la situation réelle (bien qu'il y ait en fait beaucoup de données encore pires ...). Dans le chapitre 5 de ce livre, il y a une scène où scikit-learn est utilisé pour l'analyse à l'aide d'un arbre de décision. J'ai donc créé un modèle, mais j'ai essayé de visualiser l'arborescence à l'aide de graphviz, donc je l'ai essayé cette fois.
Python pratique 100 coups -> Chapitre 5 10 coups pour prédire le retrait du client -> Knock 49: Vérifions les variables contributives du modèle
Tout d'abord, installez l'unité principale en utilisant homebrew.
brew install graphviz
De plus, installez la bibliothèque pour Python en utilisant pip (anaconda semble pouvoir le faire avec conda).
pip install graphviz
Tout ce que vous avez à faire est d'ajouter le code suivant. C'est très facile.
from sklearn import tree
import graphviz
dot_data = tree.export_graphviz(model, out_file=None)
graph = graphviz.Source(dot_data)
graph
Vous pouvez créer un fichier pdf avec juste quelques modifications du dernier code. Dans cet exemple, "test.pdf" est créé dans le répertoire courant.
from sklearn import tree
import graphviz
dot_data = tree.export_graphviz(model, out_file=None)
graph = graphviz.Source(dot_data)
graph.render('test')
J'ai utilisé la fonction export_graphviz de sklearn.tree pour créer un fichier d'arbre de décision au format de langage DOT et exécuter des commandes système sur le bloc-notes Jupyter.
from sklearn import tree
import graphviz
with open('test.dot', mode='w') as f:
tree.export_graphviz(model, out_file=f)
!dot -T png test.dot -o test.png
Cet article a été rédigé en référence aux informations suivantes. Voir ci-dessous pour plus d'informations. 1.10. Arbres de décision (document officiel) sklearn.tree.export_graphviz (également documentation officielle) Essayez l'arbre de décision avec Python: scicit-learn (je l'ai utilisé comme référence)
Recommended Posts