2. Multivariate Analyse in Python 7-1. Entscheidungsbaum (Scikit-Learn)

** Lassen Sie uns hier zunächst ein Beispiel für einen Klassifizierungsbaum durchgehen. ** ** **

⑴ Bibliothek importieren

#Klasse zum Erstellen eines Entscheidungsbaummodells
from sklearn.tree import DecisionTreeClassifier
#Modul basierend auf dem Entscheidungsbaummodell
from sklearn import tree

#Datensatzpaket für maschinelles Lernen
from sklearn import datasets
#Dienstprogramm zum Aufteilen von Daten
from sklearn.model_selection import train_test_split

#Modul zum Anzeigen von Bildern in Notebook
from IPython.display import Image  
#Modul zur Visualisierung des Entscheidungsbaummodells
import pydotplus

⑵ Datenerfassung und Lesen

iris = datasets.load_iris()
print(iris)
Variablennamen Bedeutung Hinweis Datentyp
1 sepal length Die Länge des Stückes Kontinuierliche Menge(cm) float64
2 sepal width Breite des Stückes Kontinuierliche Menge(cm) float64
3 petal length Blütenblattlänge Kontinuierliche Menge(cm) float64
4 petal width Blütenblattbreite Kontinuierliche Menge(cm) float64
5 species Art Setosa=1, Versicolour=2, Virginica=3 int64
#Erläuterung der Variablenbezeichnung
print(iris.feature_names)

#Erklärende variable Form
print(iris.data.shape)

#Zeigen Sie die ersten 5 Zeilen der erklärenden Variablen an
iris.data[0:5, :]

2_7_1_01.PNG

#Objektive Variablenbezeichnung
print(iris.target_names)

#Form der Zielvariablen
print(iris.target.shape)

#Zielvariable anzeigen
iris.target

2_7_1_02.PNG

(3) Datenvorverarbeitung

#Speichern Sie erklärende Variablen bzw. objektive Variablen
X = iris.data
y = iris.target

#Für Training und Test getrennt
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

⑷ Modellkonstruktion und Bewertung des Entscheidungsbaums

#Initialisieren Sie die Klasse, die das Entscheidungsbaummodell erstellt
clf = DecisionTreeClassifier(criterion='gini', max_depth=3, random_state=0)

#Generieren Sie ein Entscheidungsbaummodell
model = clf.fit(X_train, y_train)

#Berechnen Sie die richtige Antwortrate für jedes Training und jeden Test
print('Richtige Antwortrate(train):{:.3f}'.format(model.score(X_train, y_train)))
print('Richtige Antwortrate(test):{:.3f}'.format(model.score(X_test, y_test)))

2_7_1_03.PNG

⑸ Zeichnen eines Baumdiagramms

  1. ** Entscheidungsbaummodell in DOT-Daten konvertieren **
  2. ** Zeichnen Sie ein Diagramm aus DOT-Daten **
  3. ** In png konvertieren und im Notebook anzeigen **
#Konvertieren Sie das Entscheidungsbaummodell in DOT-Daten
dot_data = tree.export_graphviz(model,                              #Geben Sie das Entscheidungsbaummodell an
                                out_file = None,                    #Gibt an, dass anstelle einer Ausgabedatei eine Zeichenfolge zurückgegeben werden soll
                                feature_names = iris.feature_names, #Geben Sie den Anzeigenamen des Funktionsbetrags an
                                class_names = iris.target_names,    #Geben Sie den Anzeigenamen der Klassifizierung an
                                filled = True)                      #Farbknoten in der Mehrheitsklasse

#Zeichnen Sie ein Diagramm
graph = pydotplus.graph_from_dot_data(dot_data)  

#Diagramm anzeigen
Image(graph.create_png())

2_7_1_04.PNG

So lesen Sie ein Baumdiagramm

2_7_1_05.PNG

Ergänzung

#In PNG-Datei exportieren
graph.write_png("iris.png ")

#Download von Google Colaboratory
from google.colab import files
files.download('iris.png')

2_7_1_06.PNG

Recommended Posts

2. Multivariate Analyse in Python 7-1. Entscheidungsbaum (Scikit-Learn)
2. Multivariate Analyse in Python 7-3. Entscheidungsbaum [Rückgabebaum]
2. Multivariate Analyse in Python 7-2. Entscheidungsbaum [Unterschied in den Teilungskriterien]
2. Multivariate Analyse in Python 1-1. Einfache Regressionsanalyse (Scikit-Learn)
2. Multivariate Analyse in Python 2-1. Multiple Regressionsanalyse (Scikit-Learn)
2. Multivariate Analyse in Python 3-1. Hauptkomponentenanalyse (Scikit-Learn)
2. Multivariate Analyse in Python 8-1. K Nachbarschaftsmethode (Scikit-Learn)
2. Multivariate Analyse in Python 6-2. Ridge-Regression / Lasso-Regression (Scikit-Learn) [Ridge-Regression vs. Lasso-Regression]
2. Multivariate Analyse in Python 3-2. Hauptkomponentenanalyse (Algorithmus)
2. Multivariate Analyse in Python 6-1. Ridge-Regression / Lasso-Regression (Scikit-Learn) [multiple Regression vs. Ridge-Regression]
2. Multivariate Analyse in Python 1-2. Einfache Regressionsanalyse (Algorithmus)
2. Multivariate Analyse in Python 6-3. Ridge-Regression / Lasso-Regression (Scikit-Learn) [Funktionsweise der Regularisierung]
2. Multivariate Analyse in Python 5-3. Logistische Regressionsanalyse (Statistikmodelle)
2. Multivariate Analyse in Python 8-3. K Nachbarschaftsmethode [Schnittstellenüberprüfung]
2. Multivariate Analyse in Python 2-3. Multiple Regressionsanalyse [COVID-19-Infektionsrate]
2. Multivariate Analyse in Python 8-2. K Nachbarschaftsmethode [Gewichtungsmethode] [Rückgabemodell]
Assoziationsanalyse in Python
Regressionsanalyse mit Python
[Python] Persönliches Tutorial zum Entscheidungsbaum
Einfache Regressionsanalyse mit Python
Scikit-Lernentscheidung Generieren Sie Python-Code aus Baum- / Waldstrukturregeln
Gehirnwellenanalyse mit Python: Python MNE-Tutorial
Erste einfache Regressionsanalyse in Python
Erstellen eines bestimmten Baums mit Scikit-Learn
[Python] PCA-Scratch im Beispiel "Einführung in die multivariate Analysemethode"
Compiler in Python: PL / 0-Syntaxbaum
Scikit-learn kann nicht in Python installiert werden
Planare Skelettanalyse in Python (2) Hotfix
Algorithmus (Segmentbaum) in Python (Übung)
Lineare Regression in Python (Statmodelle, Scikit-Learn, PyMC3)
Ausgabebaumstruktur von Dateien in Python
Zeichnen Sie mit graphviz eine Baumstruktur in Python 3
Verzögerter Segmentbaum in Python (Anforderung zum Debuggen)
Bearbeiten Sie XML mit Namespaces in Python (Element Tree)
Restanalyse in Python (Ergänzung: Cochrane-Regeln)
Überlebensanalyse mit Python 2-Kaplan-Meier-Schätzung
Führen Sie eine Entitätsanalyse mit spaCy / GiNZA in Python durch
Datenanalyse in Python: Ein Hinweis zu line_profiler
[Umgebungskonstruktion] Abhängigkeitsanalyse mit CaboCha mit Python 2.7
Compiler in Python: PL / 0 Abstract Syntax Tree (AST)
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Aufgezeichnete Umgebung für die Datenanalyse mit Python
Geben Sie eine kurze URL-ähnliche Zeichenfolge in Python aus