0Pricing
Learn AI with Python · Lektion

Bayessche Optimierung mit Optuna

optuna.create_study(), suggest_float/int/categorical, Pruning und Visualisierung.

Bayessche Optimierung mit Optuna ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Intelligenter als die Zufallssuche

Raster- und Zufallssuche berücksichtigen frühere Ergebnisse nicht. Die Bayes-Optimierung lernt aus vorherigen Versuchen und schlägt als Nächstes vielversprechendere Hyperparameter vor. So findet sie mit weniger Auswertungen gute Werte.

Was Optuna leistet

Optuna ist ein beliebtes Framework zur Hyperparameteroptimierung. Sie definieren eine Zielfunktion; Optuna wählt intelligent Hyperparameter aus und merkt sich, was funktioniert hat.

Eine Study erstellen

Eine Study verwaltet die Optimierung. Setzen Sie direction für Genauigkeit oder AUC auf "maximize" und für Verlust oder Fehler auf "minimize".

import optuna

study = optuna.create_study(direction="maximize")

Die Zielfunktion

Die Zielfunktion erhält ein trial-Objekt, schlägt Hyperparameter vor, trainiert ein Modell und gibt den zu optimierenden Score zurück.

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score

def objective(trial):
    n = trial.suggest_int("n_estimators", 100, 500)
    d = trial.suggest_int("max_depth", 3, 20)
    clf = RandomForestClassifier(n_estimators=n, max_depth=d)
    return cross_val_score(clf, X, y, cv=3).mean()

Ganzzahlparameter vorschlagen

trial.suggest_int(name, low, high) wählt eine Ganzzahl aus einem Bereich. Fügen Sie step oder log=True hinzu, um die Auswahl zu steuern.

def objective(trial):
    n_estimators = trial.suggest_int("n_estimators", 100, 1000, step=50)
    return train_and_score(n_estimators)

Gleitkommaparameter vorschlagen

trial.suggest_float(name, low, high) wählt eine reelle Zahl aus. Verwenden Sie log=True für Parameter wie die Lernrate, die sich über mehrere Größenordnungen erstrecken.

def objective(trial):
    lr = trial.suggest_float("learning_rate", 1e-4, 0.3, log=True)
    subsample = trial.suggest_float("subsample", 0.5, 1.0)
    return train_and_score(lr, subsample)

Kategorische Parameter vorschlagen

trial.suggest_categorical(name, choices) wählt aus einer festen Liste aus, ideal für Optionen wie den Kerneltyp oder das Boosting-Verfahren.

def objective(trial):
    kernel = trial.suggest_categorical("kernel", ["linear", "rbf", "poly"])
    return train_svm(kernel)

Die Optimierung ausführen

study.optimize(objective, n_trials=N) führt die Suche über N Trials aus. Mehr Trials untersuchen einen größeren Teil des Suchraums; Optuna konzentriert sich im Laufe der Zeit auf vielversprechende Bereiche.

study.optimize(objective, n_trials=100)

Das beste Ergebnis auslesen

Nach der Optimierung liefert study.best_params die besten Hyperparameter und study.best_value den besten Zielfunktions-Score.

print("Best params:", study.best_params)
print("Best value:", study.best_value)

best = RandomForestClassifier(**study.best_params)
best.fit(X, y)

Nicht vielversprechende Trials vorzeitig abbrechen

Optuna kann schlechte Trials mit pruners frühzeitig abbrechen und dadurch Rechenaufwand sparen. Melden Sie Zwischenwerte und prüfen Sie trial.should_prune() innerhalb von Trainingsschleifen.

import optuna

study = optuna.create_study(
    direction="maximize",
    pruner=optuna.pruners.MedianPruner(),
)

Warum Optuna skaliert

Optuna unterstützt parallele Trials, dauerhafte Speicherung und die Visualisierung der Suche. Bei teuren Modellen findet der ressourceneffiziente Bayes-Ansatz mit deutlich weniger Trials starke Konfigurationen als die Raster- oder Zufallssuche.

Kurzer Test

Testen Sie Ihr Wissen über Optuna.

Zusammenfassung

Zusammenfassung: Optuna verwendet Bayes-Optimierung, um Hyperparameter effizient abzustimmen. Erstellen Sie eine Study mit einer direction, schreiben Sie eine Zielfunktion mit trial.suggest_int/float/categorical und führen Sie study.optimize(objective, n_trials=N) aus. Lesen Sie anschließend study.best_params und study.best_value aus. Pruner brechen schwache Trials ab und sparen dadurch Rechenaufwand.

Häufig gestellte Fragen

Ist die Lektion „Bayessche Optimierung mit Optuna“ kostenlos?

Ja — der vollständige Text von „Bayessche Optimierung mit Optuna“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Bayessche Optimierung mit Optuna“?

optuna.create_study(), suggest_float/int/categorical, Pruning und Visualisierung. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Bayessche Optimierung mit Optuna“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Strategien für Cross-Validation
  2. Klassifikationsmetriken im Detail
  3. Grid Search und Random Search
  4. Bayessche Optimierung mit Optuna
← Zurück zu Learn AI with Python