Menu
CoddyTech

Rückblick: Einen Baum optimieren

Teil des Abschnitts Überwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 36 von 58.

challenge icon

Aufgabe

Mittel

Die Sensoren eines Rösters erfassen 6 Werte pro Kaffeepartie; 1 bedeutet, dass sie zum Abfüllen bereit ist. Wähle die Baumtiefe auf ehrliche Weise.

  1. Teile 20% zum Testen ab, dann 25% des Rests zur Validierung (random_state=0).
  2. Trainiere für Tiefen von 1 bis 10 einen Baum (random_state=0) mit den Trainingszeilen; zeichne dessen Trainings- und Validierungsgenauigkeit mit marker="o" auf und beschrifte sie mit training und validation.
  3. Gib die beste Tiefe aus, dann deren Testgenauigkeit.
  4. Markiere diese Tiefe mit einer gestrichelten Linie und den Testwert mit einem roten Stern; füge eine Legende hinzu.

Ein anderer Röster gibt Folgendes aus:

Best depth: 5 (validation accuracy 0.887)
Test accuracy: 0.750

und zeichnet dies. Coddy beschreibt dann dein Diagramm.

Kaffeepartien: Eine Tiefe auswählen. Die Trainingslinie steigt von 0.69 auf fast 1.0; die Validierungslinie erreicht bei Tiefe 5 mit 0.89 ihren Höchstwert und fällt dann auf 0.78. Bei Tiefe 5 verläuft eine gestrichelte Linie, auf der sich bei 0.75, dem Testwert, ein roter Stern befindet

Probier es selbst

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# make_classification erzeugt realistische Datensätze zum Üben: hier 400 Kaffeeröstchargen,
# jeweils mit 6 Messwerten von Röstereisensoren, Label 1, wenn die Charge zum Verpacken bereit ist
X, y = make_classification(n_samples=400, n_features=6, n_informative=3, n_redundant=1,
                           flip_y=0.1, random_state=79)

fig, ax = plt.subplots()
ax.set_title("Coffee Batches: Choosing a Depth")
ax.set_xlabel("Tree depth")
ax.set_ylabel("Accuracy")

# Schreibe deinen Code unten

Alle Lektionen in Überwachtes Lernen

Übe selbstständig: Online-Python-Compiler