Python-Übung 100 Schläge Ich habe versucht, den Entscheidungsbaum von Kapitel 5 mit graphviz zu visualisieren

Einführung

Ich lerne mit "100 Schlägen Python-Praxis". Ich denke, dieses Buch ist wirklich gut, weil Sie die Datenanalyse mit Daten untersuchen können, die der tatsächlichen Situation nahe kommen (obwohl es tatsächlich viele noch schlechtere Daten gibt ...). In Kapitel 5 dieses Buches gibt es eine Szene, in der Scikit-Learn zur Analyse mithilfe eines Entscheidungsbaums verwendet wird. Also habe ich ein Modell erstellt, aber ich habe versucht, die Baumstruktur mit graphviz zu visualisieren, also habe ich es dieses Mal versucht.

Zielgruppe Leser

Zielort

Python übt 100 Schläge -> Kapitel 5 10 klopft an, um den Kundenabzug vorherzusagen -> Knock 49: Überprüfen wir die beitragenden Variablen des Modells

Meine PC-Umgebung

Installation von graphviz

Installieren Sie zuerst das Hauptgerät mit Homebrew.

brew install graphviz

Installieren Sie außerdem die Bibliothek für Python mit pip (anaconda scheint dies mit conda zu können).

pip install graphviz

Code

1. So zeigen Sie auf dem Jupyter-Notebook an

Sie müssen lediglich den folgenden Code hinzufügen. Es ist sehr leicht.

from sklearn import tree
import graphviz
dot_data = tree.export_graphviz(model, out_file=None)
graph = graphviz.Source(dot_data)
graph
スクリーンショット 2020-05-06 12.03.57.png

2. So erstellen Sie eine Datei

Sie können eine PDF-Datei mit nur wenigen Änderungen am letzten Code erstellen. In diesem Beispiel wird "test.pdf" im aktuellen Verzeichnis erstellt.

from sklearn import tree
import graphviz
dot_data = tree.export_graphviz(model, out_file=None)
graph = graphviz.Source(dot_data)
graph.render('test')

test.png

3. So erstellen Sie eine Datei mit dem Terminal (Bonus)

Ich habe mit der Funktion export_graphviz von sklearn.tree eine Entscheidungsbaumdatei im DOT-Sprachformat erstellt und Systembefehle auf dem Jupyter-Notizbuch ausgeführt.

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

Verweise

Dieser Artikel wurde unter Bezugnahme auf die folgenden Informationen verfasst. Weitere Informationen finden Sie weiter unten. 1.10. Entscheidungsbäume (offizielles Dokument) sklearn.tree.export_graphviz (auch offizielle Dokumentation) Probieren Sie den Entscheidungsbaum mit Python aus: scicit-learn (ich habe ihn als Referenz verwendet)

Recommended Posts

Python-Übung 100 Schläge Ich habe versucht, den Entscheidungsbaum von Kapitel 5 mit graphviz zu visualisieren
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Die Entscheidung von scikit-learn Wie man ein Holzmodell visualisiert
Ich habe versucht, die Spacha-Informationen von VTuber zu visualisieren
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, die 2020-Version von 100 Sprachverarbeitungsproblemen zu lösen [Kapitel 3: Reguläre Ausdrücke 20 bis 24]
Ich habe versucht, die Tweets von JAWS DAYS 2017 mit Python + ELK einfach zu visualisieren
Ich habe versucht, die 2020-Version von 100 Sprachverarbeitungsproblemen zu lösen [Kapitel 1: Vorbereitungsbewegung 00-04]
Ich habe versucht, die 2020-Version von 100 Sprachverarbeitungsproblemen zu lösen [Kapitel 1: Vorbereitungsbewegung 05-09]
Ich habe versucht, die Entropie des Bildes mit Python zu finden
[TF] Ich habe versucht, das Lernergebnis mit Tensorboard zu visualisieren
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich habe versucht, den allgemeinen Zustand der VTuber-Kanalbetrachter zu visualisieren
[Python] Ich habe versucht, das Preisgeld von "ONE PIECE" über 100 Millionen Zeichen mit matplotlib zu visualisieren.
Ich habe versucht, das Gesichtsbild mit sparse_image_warp von TensorFlow Addons zu transformieren
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
Ich habe versucht, die Altersgruppe und die Ratenverteilung von Atcoder zu visualisieren
Ich habe versucht, die Ähnlichkeit der Frageabsicht mit Doc2Vec von gensim abzuschätzen
Ich habe versucht, die Version 2020 mit 100 Sprachverarbeitung zu lösen [Kapitel 3: Reguläre Ausdrücke 25-29]
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
(Python) Ich habe versucht, 1 Million Hände zu analysieren ~ Ich habe versucht, die Anzahl der AA ~ zu schätzen
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
Ich habe versucht, den entscheidenden Baum (CART) zu verstehen, um ihn sorgfältig zu klassifizieren
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Ich habe versucht, den Text des Romans "Wetterkind" mit Word Cloud zu visualisieren
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Ich habe versucht, alle Entscheidungsbäume des zufälligen Waldes mit SVG zu visualisieren
Ich habe die übliche Geschichte ausprobiert, Deep Learning zu verwenden, um den Nikkei-Durchschnitt vorherzusagen
Mit COTOHA habe ich versucht, den emotionalen Verlauf des Laufens von Meros zu verfolgen.
Ich habe versucht, die Neujahrskarte selbst mit Python zu analysieren
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Ich habe versucht, den Bildfilter von OpenCV zu verwenden
Ich habe versucht, die Texte von Hinatazaka 46 zu vektorisieren!
Django super Einführung von Python-Anfängern! Teil 2 Ich habe versucht, die praktischen Funktionen der Vorlage zu nutzen
Ich habe versucht, E-Mails von Node.js und Python mithilfe des E-Mail-Zustelldienstes (SendGrid) von IBM Cloud zuzustellen!
Ich habe versucht, die Verschlechterung des Lithium-Ionen-Akkus mithilfe des Qore SDK vorherzusagen
Ich habe versucht, die Python-Bibliothek "pykakasi" zu verwenden, die Kanji in Romaji konvertieren kann.
Ich habe versucht, die 100-Yen-Lagerstätte von Rakuten-Pferderennen (Python / Selen) zu automatisieren.
Ich habe versucht, den Code des Python-Anfängers (Schüler der Mittelstufe) zu überarbeiten.
Ich habe ein Skript erstellt, das das aktive Fenster mit win32gui von Python aufzeichnet
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Ich habe versucht, die Grundform von GPLVM zusammenzufassen
Ich habe versucht, Soma Cube mit Python zu lösen
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Ich habe versucht, die Sündenfunktion mit Chainer zu approximieren
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Python] Ich habe versucht, die Top 10 der Lidschatten grafisch darzustellen
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung