La bibliothèque d'apprentissage automatique scikit-learn implémentée en Python est souvent utilisée car elle facilite l'expérimentation de divers algorithmes. .. En parlant de formes de fleurs, TensorFlow et PyTorch sont difficiles à utiliser dans un champ rigide. .. .. Avec un tel scikit-learn, une méthode typique d'apprentissage supervisé «arbre de décision» a été implémentée à partir de la version 0.21.x après l'apprentissage, donc je l'ai essayée en la comparant avec la méthode conventionnelle utilisant GraphViz. C'était.
Auparavant, j'ai installé et utilisé une autre bibliothèque appelée GraphViz. Cela demande beaucoup de temps et d'efforts. .. ..
Installation de GraphViz@Mac
brew install graphviz
pip install graphviz
Installation de GraphViz@Ubuntu
sudo apt install -y graphviz
pip install graphviz
Méthode utilisant GraphViz
import graphviz
from sklearn import tree
iris = load_iris()
clf = DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)
graph = graphviz.Source(tree.export_graphviz(clf, class_names=iris.feature_names, filled=True))
graph
Le résultat de l'exécution peut être sauvegardé au format PDF en exécutant graph.render ('decision_tree')
.
Essayez de dessiner un diagramme similaire à celui dessiné avec GraphViz en utilisant tree.plot_tree
. Comme il est stocké dans le module d'arborescence de scikit-learn, aucune installation supplémentaire n'est requise.
tree.plot_Méthode utilisant l'arbre
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier, plot_tree
import matplotlib.pyplot as plt
iris = load_iris()
clf = DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)
iris = load_iris()
plt.figure(figsize=(15, 10))
plot_tree(clf, feature_names=iris.feature_names, filled=True)
plt.show()
J'ai pu produire le même chiffre que la méthode utilisant GraphViz. Si vous l'exécutez sur Jupyter Notebook, vous pouvez cliquer avec le bouton droit sur le résultat du dessin tel quel et l'enregistrer en tant qu'image.
J'ai créé une méthode en utilisant tree.plot_tree de scikit-learn et le GraphViz conventionnel pour la visualisation de l'arbre de décision, et j'ai réalisé que tree.plot_tree est plus facile et plus pratique (que la méthode conventionnelle). Je voudrais l'utiliser activement à l'avenir.
Reference
Recommended Posts