[PYTHON] Der tree.plot_tree von scikit-learn war sehr einfach und bequem, daher habe ich versucht, zusammenzufassen, wie man es einfach benutzt.

Die in Python implementierte Bibliothek für maschinelles Lernen scikit-learn wird häufig verwendet, da sie das Experimentieren mit verschiedenen Algorithmen erleichtert. .. Apropos Blütenformen: TensorFlow und PyTorch sind in einem starren Feld schwer zu verwenden. .. .. Mit einem solchen Scikit-Lernen wurde eine typische Methode zum überwachten Lernen "Entscheidungsbaum" ab Version 0.21.x nach dem Lernen implementiert, daher habe ich es versucht, während ich es mit der herkömmlichen Methode unter Verwendung von GraphViz verglichen habe. Es war.

Traditionelle Visualisierungsmethode: Verwenden von GraphViz

Zuvor habe ich eine andere Bibliothek namens GraphViz installiert und verwendet. Es kostet viel Zeit und Mühe. .. ..

GraphViz-Installation@Mac


brew install graphviz
pip install graphviz

GraphViz-Installation@Ubuntu


sudo apt install -y graphviz
pip install graphviz

Methode mit 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

Ausführungsergebnis

Das Ausführungsergebnis kann als PDF gespeichert werden, indem `graph.render ('entscheidungsbaum') 'ausgeführt wird.

graphviz

Verwenden Sie tree.plot_tree

Zeichnen wir eine ähnliche Figur wie mit GraphViz mit tree.plot_tree. Da es im Baummodul von scikit-learn gespeichert ist, ist keine zusätzliche Installation erforderlich.

tree.plot_Methode mit Baum


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()

Ausführungsergebnis

Ich konnte dieselbe Zahl wie die Methode mit GraphViz ausgeben. Wenn Sie es auf Jupyter Notebook ausführen, können Sie mit der rechten Maustaste auf das Zeichnungsergebnis klicken und es als Bild speichern.

plot_tree

Zusammenfassung

Ich habe eine Methode mit scikit-learns tree.plot_tree und dem herkömmlichen GraphViz zur Visualisierung des Entscheidungsbaums erstellt und festgestellt, dass tree.plot_tree einfacher und bequemer ist (als die herkömmliche Methode). Ich möchte es in Zukunft aktiv nutzen.

Reference

Recommended Posts

Der tree.plot_tree von scikit-learn war sehr einfach und bequem, daher habe ich versucht, zusammenzufassen, wie man es einfach benutzt.
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
Ich habe die Größenänderung von TensorFlow nicht verstanden und sie daher visuell zusammengefasst.
Ich habe versucht zusammenzufassen, wie das EPEL-Repository erneut verwendet wird
Ich habe versucht, die Grundform von GPLVM zusammenzufassen
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, YouTube zu kratzen, aber ich kann die API verwenden, also tu es nicht.
Ich habe versucht zu verstehen, wie Pandas und multiple Co-Linearität unter Verwendung des Affairs-Datensatzes als Thema verwendet werden.
Python-Anfänger haben einen Chat-BOT erstellt, also habe ich versucht, zusammenzufassen, wie man es macht
Ich habe versucht, es einfach zu machen, die Einstellung des authentifizierten Proxys auf Jupyter zu ändern
Ich habe versucht, den Teil, in dem die Pflanze gezeigt wird, mithilfe von Deep Learning aus dem Foto der Veranda zu extrahieren, aber es hat nicht funktioniert, daher werde ich den Inhalt von Versuch und Irrtum zusammenfassen. Teil 2
(komplex) Es hängt davon ab, wie der Koeffizient des Morlet-Wavelets, der entsprechende Einstellwert und das Material benannt werden. Deshalb habe ich versucht, ihn so gut wie möglich zu organisieren.
[Maschinelles Lernen] Ich habe versucht, die Theorie von Adaboost zusammenzufassen
[Erwerb der Qualifikation] Ich habe LinuC Level 1 bestanden und werde darüber schreiben, wie man studiert und wie es war.
Ich habe eine Funktion zum Trimmen des Bildes von Python openCV erstellt. Verwenden Sie sie daher bitte.
[Linux] Ich habe versucht, die Ressourcenbestätigungsbefehle zusammenzufassen
Ich habe zusammengefasst, wie die Boot-Parameter von GRUB und GRUB2 geändert werden
Ich habe versucht, die häufig verwendete Implementierungsmethode von pytest-mock zusammenzufassen
Ich habe versucht, Pyenv zu verwenden, das ich ohne Essen hasste, und es war zu bequem, mich hinzusetzen.
Ich habe versucht, eine Site zu erstellen, mit der die aktualisierten Informationen von Azure einfach angezeigt werden können
[Qiita API] [Statistik • Maschinelles Lernen] Ich habe versucht, die bisher veröffentlichten Artikel zusammenzufassen und zu analysieren.
Von der Einführung der GoogleCloudPlatform Natural Language API bis zur Verwendung
Ich versuchte zusammenzufassen, bis ich die Bank verließ und Ingenieur wurde
Ich habe versucht, den Befehl umask zusammenzufassen
Ich habe versucht, die Altersgruppe und die Ratenverteilung von Atcoder zu visualisieren
Als ich versuchte, Python auszuführen, wurde ich zum Microsoft Store übersprungen
Ich habe das Verhalten von Argsort of Numpy nicht verstanden, deshalb werde ich es zusammenfassen
Ich habe versucht, die Genauigkeit meines eigenen neuronalen Netzwerks zu verbessern
Ich habe versucht, die grafische Modellierung zusammenzufassen.
Ich habe versucht, die logische Denkweise über Objektorientierung zusammenzufassen.
Ich habe versucht, die Phase der Geschichte mit COTOHA zu extrahieren und zu veranschaulichen
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
[Python] Es war sehr praktisch, die Python-Klasse für das ROS-Programm zu verwenden.
So speichern Sie die Feature-Point-Informationen des Bildes in einer Datei und verwenden sie zum Abgleichen
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.
Ich wollte die Anzahl der Zeilen in mehreren Dateien wissen und versuchte, sie mit einem Befehl abzurufen
Ich habe versucht, das Update von "Hameln" mit "Beautiful Soup" und "IFTTT" zu benachrichtigen.
Irgendwie hat der Code, den ich geschrieben habe, funktioniert und ich war beeindruckt, also werde ich ihn veröffentlichen
P100-PCIE-16GB wurde der GPU von Google Colab hinzugefügt, bevor ich es wusste
Ich habe versucht, Resultoon auf Mac + AVT-C875 zu verwenden, war aber unterwegs frustriert.
Verwenden Sie Pillow, um das Bild transparent zu machen und nur einen Teil davon zu überlagern
Ich habe versucht, die Tweets von JAWS DAYS 2017 mit Python + ELK einfach zu visualisieren
Ich habe versucht, Google Translate aus Python zu verwenden, und es war einfach zu einfach
Ich habe versucht, die Daten des Laptops durch Booten unter Ubuntu zu retten
Docker x Visualization hat nicht funktioniert und ich war süchtig danach, also habe ich es zusammengefasst!
Ich habe versucht, Twitter Scraper mit AWS Lambda zu verwenden, aber es hat nicht funktioniert.
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Ich habe versucht, die Trapezform des Bildes zu korrigieren
LeetCode Ich habe versucht, die einfachen zusammenzufassen
So installieren Sie den Cascade-Detektor und wie verwenden Sie ihn
Ich habe versucht, die Texte von Hinatazaka 46 zu vektorisieren!
[Kein Code] Ich habe in meiner Abschlussarbeit über elliptische Kurven und Blockchain geschrieben und versucht, die Studienmethode zusammenzufassen
linux / c> link> Ruft das Ausführungsergebnis des Shell-Befehls im C-Programm ab.> Mir wurde beigebracht, wie man popen () verwendet.
GradCAM mit 22 Codezeilen. tf_explain ist möglicherweise einfach zu bedienen, ich empfehle es!
[LPIC 101] Ich habe versucht, die Befehlsoptionen zusammenzufassen, die leicht zu Fehlern führen können
Ich habe versucht, das Update von "Werde ein Romanautor" mit "IFTTT" und "Werde ein Romanautor API" zu benachrichtigen.