Bäume stellen Fragen
Teil des Abschnitts Überwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 27 von 58.
Dieses Kapitel endet mit einem Baum, der einen Farmkredit erklärt. Ein Entscheidungsbaum spielt „Zwanzig Fragen“: jeweils eine Ja-oder-Nein-Frage zu einem Merkmal, bis zu einer Antwort:
Beim Training wird jede Frage so ausgewählt, dass ihre Antworten die Klassen möglichst sauber aufteilen:
from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier(max_depth=2, random_state=0)
tree.fit(X_train, y_train) # Länge und Breite der Blütenblätter, cm
print(tree.predict([[4.5, 1.4]]))Dies gibt [1], versicolor, aus. max_depth=2 erlaubt zwei Fragen pro Pfad. Eine Skalierung ist nicht nötig: Jede Frage liest ein Merkmal aus.
Aufgabe
MittelEin Kameraverleih schickt eine Erinnerung per SMS, wenn Ausrüstung möglicherweise verspätet zurückgegeben wird. Das Starterprogramm teilt die bisherigen Vermietungen auf und liest eine neue Vermietung in die einzeilige Tabelle new_rental ein.
- Trainiere einen Entscheidungsbaum mit höchstens 2 Fragen pro Pfad (
random_state=0). - Gib seine Testgenauigkeit (3 Dezimalstellen) und seine Antwort für die neue Vermietung aus:
likely latefür 1,likely on timefür 0.
Für einen anderen Verleih:
Test accuracy: 0.792
This rental: likely on timeProbier es selbst
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
# Frühere Ausleihen: 1 in late bedeutet, dass die Ausrüstung verspätet zurückgegeben wurde
rentals = pd.read_csv("rentals.csv")
features = ["rental_weeks", "gear_value_usd", "customer_age", "late_before"]
X_train, X_test, y_train, y_test = train_test_split(rentals[features], rentals["late"], test_size=0.25, random_state=0)
# Eine neue Ausleihe: gebuchte Wochen, Wert der Ausrüstung, Alter des Kunden und seine bisherigen verspäteten Rückgaben
weeks = int(input())
value = int(input())
age = int(input())
late_before = int(input())
new_rental = pd.DataFrame([[weeks, value, age, late_before]], columns=features)
# Schreibe deinen Code unten
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Überwachtes Lernen
1Dein erstes Modell
Aus Beispielen lernenTrainings- und TestdatensätzeAnpassen und VorhersagenEin Modell bewertenRückblick: Saatgutsortierer4Logistische Regression
Ja-Nein-VorhersagenDie EntscheidungsschwelleGewichte als IndizienMehrere KlassenRückblick: Spamfilter2Nächste Nachbarn
So entscheidet k-NNk wählenEntscheidungsgrenzenSkalierung für NachbarnRückblick: Wein-Nachbarn5Klassifikatoren bewerten
Die KonfusionsmatrixPräzision und TrefferquoteDer F1-ScoreUnausgewogene KlassenROC-KurvenRückblick: Screeningtest3Lineare Regression
Zahlen vorhersagenMehrere MerkmaleFehler messenResiduenplotsZusammenfassung: Fahrradverleih6Entscheidungsbäume
Bäume stellen FragenEinen Baum lesenBaumtiefeMerkmalswichtigkeitRückblick: Kreditentscheidungen9Ensembleverfahren
Random ForestsWarum Random Forests funktionierenGradient BoostingRückblick: Förster des Waldes12Abschließende Herausforderungen
Diabetes-FortschrittKreditgenehmigungHandgeschriebene ZiffernKundenabwanderungÜbe selbstständig: Online-Python-Compiler