Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Adaboost-Klassifikator | Häufig Verwendete Boosting-Modelle
Ensemble-Lernen
course content

Kursinhalt

Ensemble-Lernen

Ensemble-Lernen

1. Grundprinzipien des Aufbaus von Ensemble-Modellen
2. Häufig Verwendete Bagging-Modelle
3. Häufig Verwendete Boosting-Modelle
4. Häufig Verwendete Stacking-Modelle

book
Adaboost-Klassifikator

AdaBoost ist ein Ensemble-Lernalgorithmus, der darauf abzielt, die Leistung schwacher Lerner zu verbessern. Er funktioniert, indem er iterativ eine Sequenz schwacher Klassifikatoren auf gewichteten Versionen der Trainingsdaten trainiert. Die endgültige Vorhersage ist eine gewichtete Kombination der Vorhersagen dieser schwachen Klassifikatoren. AdaBoost weist den falsch klassifizierten Proben höhere Gewichte zu, sodass nachfolgende Modelle sich auf die schwer zu klassifizierenden Instanzen konzentrieren können.

Wie funktioniert AdaBoost?

  1. Gewichte initialisieren: Weisen Sie allen Trainingsproben gleiche Gewichte zu;
  2. Schwachen Klassifikator trainieren: Trainieren Sie einen schwachen Klassifikator auf den Trainingsdaten unter Verwendung der aktuellen Probengewichte. Der schwache Klassifikator zielt darauf ab, die gewichtete Fehlerrate zu minimieren, wobei die Gewichte die falsch klassifizierten Proben betonen;
  3. Klassifikatorgewicht berechnen: Berechnen Sie das Gewicht des trainierten Klassifikators basierend auf seiner Genauigkeit. Bessere Klassifikatoren erhalten höhere Gewichte;
  4. Probengewichte aktualisieren: Aktualisieren Sie die Probengewichte, indem Sie den falsch klassifizierten Proben aus dem aktuellen Klassifikator höhere Gewichte zuweisen;
  5. Wiederholen: Wiederholen Sie die Schritte 2-4 für eine vordefinierte Anzahl von Iterationen (oder bis ein bestimmter Schwellenwert erreicht ist);
  6. Endgültige Vorhersage: Kombinieren Sie die Vorhersagen aller schwachen Klassifikatoren, indem Sie die gewichteten Vorhersagen summieren. Die Klasse mit der Mehrheit der Stimmen wird zur endgültigen Vorhersage.

Beispiel

Wir können die AdaBoostClassifier-Klasse in Python verwenden, um ein AdaBoost-Modell zu trainieren und Vorhersagen auf echten Daten zu liefern:

123456789101112131415161718192021222324252627
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.ensemble import AdaBoostClassifier from sklearn.metrics import f1_score # Load the Iris dataset data = load_iris() X = data.data y = data.target # Split the data into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Create a Logistic Regression base model base_model = LogisticRegression() # Create and train the AdaBoost Classifier with Logistic Regression as base model classifier = AdaBoostClassifier(base_model, n_estimators=50) classifier.fit(X_train, y_train) # Make predictions y_pred = classifier.predict(X_test) # Calculate F1 score f1 = f1_score(y_test, y_pred, average='weighted') print(f'F1 Score: {f1:.4f}')
copy
Ist die folgende Aussage wahr: AdaBoost weist den korrekt klassifizierten Proben höhere Gewichte zu?

Ist die folgende Aussage wahr: AdaBoost weist den korrekt klassifizierten Proben höhere Gewichte zu?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 1
We're sorry to hear that something went wrong. What happened?
some-alt