2. Multivariate Analyse in Python 7-3. Entscheidungsbaum [Rückgabebaum]

⑴ Bibliothek importieren

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

from sklearn.tree import DecisionTreeRegressor #Klasse zum Erstellen eines Regressionsbaummodells

⑵ Datenerfassung und Lesen

from sklearn.datasets import load_boston
boston_dataset = load_boston()

** Erstellen Sie ein Regressionsbaummodell, das den Preis eines Hauses anhand der 13 erklärenden Variablen vorhersagt, die das Haus charakterisieren. ** ** **

#Speichern Sie erklärende Variablen in DataFrame
boston = pd.DataFrame(boston_dataset.data, columns=boston_dataset.feature_names)

print(boston.head()) #Zeigen Sie die ersten 5 Zeilen an
print(boston.columns) #Spaltennamen anzeigen
print(boston.shape) #Überprüfen Sie die Form

2_7_3_01.PNG

#Zielvariable hinzufügen
boston['MEDV'] = boston_dataset.target

print(boston.head()) #Zeigen Sie die ersten 5 Zeilen an
print(boston.shape) #Bestätigen Sie die Form erneut

2_7_3_02.PNG

⑶ Datenaufteilung

#Konvertieren Sie das Dataset in ein Numpy-Array
array = boston.values

#Teilen Sie in erklärende Variablen und objektive Variablen
X = array[:,0:13]
Y = array[:,13]
#Importieren Sie ein Modul, das Daten aufteilt
from sklearn.model_selection import train_test_split

#Daten teilen
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=1234)

⑷ Konstruktion eines Regressionsbaummodells

#Modellinstanziierung
reg = DecisionTreeRegressor(max_leaf_nodes = 20)

#Modellgenerierung durch Lernen
model = reg.fit(X_train, Y_train)
print(model)

2_7_3_03.PNG

⑸ Bewertung des Regressionsbaummodells

➀ Bestätigen Sie die Gültigkeit der Vorhersage

#Importieren Sie das Python-Standard-Pseudozufallszahlenmodul
import random
random.seed(1)

#Wählen Sie die ID nach dem Zufallsprinzip aus
id = random.randrange(0, X.shape[0], 1)
print(id)

2_7_3_04.PNG

#Extrahieren Sie die relevante Probe aus dem Originaldatensatz
x = X[id]
x = x.reshape(1,13)

#Prognostizieren Sie die Immobilienpreise anhand erklärender Variablen
YHat = model.predict(x)

#Konvertieren Sie die erklärende Variable der ID in DataFrame
df = pd.DataFrame(x, columns = boston_dataset.feature_names)
#Vorhersagewert y hinzugefügt
df["Predicted Price"] = YHat

2_7_3_05.PNG

boston.iloc[id]

2_7_3_06.PNG

➁ Überprüfen Sie den Entscheidungskoeffizienten als Index für die Vielseitigkeit

#Importieren Sie die Funktion zur Berechnung des Entscheidungskoeffizienten
from sklearn.metrics import r2_score
YHat = model.predict(X_test)

2_7_3_07.PNG

r2 = r2_score(Y_test, YHat)
print("R^2 = ", r2)

2_7_3_08.PNG

⑹ Visualisierung des Regressionsbaummodells

#Importieren Sie das sklearn-Baummodul
from sklearn import tree

#Modul zum Anzeigen von Bildern in Notebook
from IPython.display import Image

#Modul zur Visualisierung des Entscheidungsbaummodells
import pydotplus
#Konvertieren Sie das Entscheidungsbaummodell in DOT-Daten
dot_data = tree.export_graphviz(model,
                                out_file = None,
                                feature_names = boston_dataset.feature_names,
                                class_names = 'MEDV',
                                filled = True)

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

#Diagramm anzeigen
Image(graph.create_png())

2_7_3_09.PNG

Recommended Posts

2. Multivariate Analyse in Python 7-3. Entscheidungsbaum [Rückgabebaum]
2. Multivariate Analyse in Python 7-1. Entscheidungsbaum (Scikit-Learn)
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 1-2. Einfache Regressionsanalyse (Algorithmus)
2. Multivariate Analyse in Python 5-3. Logistische Regressionsanalyse (Statistikmodelle)
2. Multivariate Analyse in Python 6-2. Ridge-Regression / Lasso-Regression (Scikit-Learn) [Ridge-Regression vs. Lasso-Regression]
2. Multivariate Analyse in Python 2-3. Multiple Regressionsanalyse [COVID-19-Infektionsrate]
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 8-2. K Nachbarschaftsmethode [Gewichtungsmethode] [Rückgabemodell]
2. Multivariate Analyse in Python 3-1. Hauptkomponentenanalyse (Scikit-Learn)
2. Multivariate Analyse in Python 6-3. Ridge-Regression / Lasso-Regression (Scikit-Learn) [Funktionsweise der Regularisierung]
2. Multivariate Analyse in Python 8-1. K Nachbarschaftsmethode (Scikit-Learn)
2. Multivariate Analyse in Python 8-3. K Nachbarschaftsmethode [Schnittstellenüberprüfung]
Regressionsanalyse mit Python
Einfache Regressionsanalyse mit Python
Erste einfache Regressionsanalyse in Python
Assoziationsanalyse in Python
Mehrfacher Regressionsausdruck in Python
Axialsymmetrische Spannungsanalyse mit Python
[Python] Persönliches Tutorial zum Entscheidungsbaum
Online lineare Regression in Python
Gehirnwellenanalyse mit Python: Python MNE-Tutorial
[Python] PCA-Scratch im Beispiel "Einführung in die multivariate Analysemethode"
[Statistischer Test 2. Klasse / quasi 1. Klasse] Regressives Analysetraining mit Python (2)
Compiler in Python: PL / 0-Syntaxbaum
[Statistischer Test 2. Klasse / quasi 1. Klasse] Regressives Analysetraining mit Python (1)
Planare Skelettanalyse in Python (2) Hotfix
Algorithmus (Segmentbaum) in Python (Übung)
Einfache Implementierung einer Regressionsanalyse mit Keras
Logistische Regressionsanalyse Selbst erstellt mit Python
Lineare Regression in Python (Statmodelle, Scikit-Learn, PyMC3)
Ausgabebaumstruktur von Dateien in Python
Online lineare Regression in Python (Robuste Schätzung)
Ich habe versucht, Couseras logistische Regression in Python zu implementieren
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)
Implementiert in Python PRML Kapitel 3 Bayesianische lineare Regression
Ü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
Einfache LASSO-Regressionsanalyse mit Python (keine Theorie)