LoslegenKostenlos loslegen

Lernkurven erstellen

Wenn wir viele verschiedene Werte für einen einzelnen Hyperparameter testen wollen, lässt sich das in einem DataFrame oft nicht gut darstellen. Zuvor hast du einen praktischen Trick kennengelernt, um das zu analysieren: Ein Diagramm namens „Lernkurve“ zeigt anschaulich, wie sich das Erhöhen oder Verringern eines bestimmten Hyperparameters auf das Endergebnis auswirkt.

Anstatt nur wenige Werte für die Lernrate zu testen, wirst du viele testen, um den Effekt dieses Hyperparameters über einen großen Wertebereich klar zu sehen. Eine nützliche Funktion aus NumPy ist np.linspace(start, end, num). Damit kannst du eine Anzahl von Werten (num) erzeugen, die gleichmäßig in einem von dir festgelegten Intervall (start, end) verteilt sind.

Dir stehen die Datensätze X_train, X_test, y_train und y_test zur Verfügung.

Diese Übung ist Teil des Kurses

Hyperparameter-Tuning in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine Liste mit 30 Lernraten, die gleichmäßig zwischen 0,01 und 2 verteilt sind.
  • Erstelle eine ähnliche Schleife wie in der letzten Übung, speichere aber nur die Accuracy-Werte in einer Liste.
  • Plotte die Lernraten gegen die Accuracy.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Set the learning rates & accuracies list
learn_rates = np.linspace(____, ____, num=____)
accuracies = []

# Create the for loop
for learn_rate in learn_rates:
  	# Create the model, predictions & save the accuracies as before
    model = GradientBoostingClassifier(learning_rate=____)
    predictions = model.fit(____, ____).predict(____)
    accuracies.append(accuracy_score(y_test, ____))

# Plot results    
plt.plot(____, ____)
plt.gca().set(xlabel='learning_rate', ylabel='Accuracy', title='Accuracy for different learning_rates')
plt.____
Code bearbeiten und ausführen