Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Random Forest | Häufig Verwendete Bagging-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
Random Forest

Random Forest ist ein Bagging-Ensemble-Algorithmus, der sowohl für Klassifikations- als auch für Regressionsaufgaben verwendet wird. Die Grundidee hinter Random Forest ist es, einen "Wald" von Entscheidungsbäumen zu erstellen, wobei jeder Baum auf einem anderen Teil des Datensatzes trainiert wird und seine eigene Vorhersage liefert.

Wie funktioniert Random Forest?

  1. Bootstrapping und Datensubset: Jeder Baum im Wald wird mit einem zufälligen Teil des ursprünglichen Datensatzes trainiert, der durch Bootstrapping gezogen wird. Dieser Prozess beinhaltet die Auswahl von Datenpunkten mit Zurücklegen, wodurch vielfältige Teilmengen für jeden Baum entstehen;

  2. Entscheidungsbaumkonstruktion: Diese Teilmengen bauen individuelle Entscheidungsbäume. Daten werden rekursiv unter Verwendung von Merkmalen und Schwellenwerten geteilt, wodurch binäre Aufteilungen entstehen, die zu Blattknoten mit Vorhersagen führen;

  3. Zufällige Merkmalsauswahl: Innerhalb jedes Baumes wird nur eine zufällige Teilmenge von Merkmalen für die Erstellung von Aufteilungen in Betracht gezogen. Diese Zufälligkeit verhindert, dass einzelne Merkmale die Vorhersagen dominieren, und erhöht die Vielfalt der Bäume;

  4. Vorhersageaggregation: Nach dem Training trifft jeder Baum Vorhersagen für Datenpunkte. Für die Klassifikation verwenden wir hartes oder weiches Voting, um eine Vorhersage zu erstellen; für die Regression werden die Vorhersagen gemittelt, um das endgültige Ergebnis zu liefern.

Wir können ein ziemlich interessantes Merkmal eines zufälligen Baumes feststellen: Jedes Basismodell wird nicht nur auf einem zufälligen Teil des Trainingssatzes, sondern auch auf einer zufälligen Teilmenge von Merkmalen trainiert. Dadurch erhalten wir unabhängigere Basismodelle und infolgedessen genauere endgültige Vorhersagen.

Beispiel

Lassen Sie uns die Klassifikationsaufgabe mit Random Forest auf dem Iris-Datensatz lösen:

1234567891011121314151617181920212223242526
# Import necessary libraries from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import f1_score # Load the Iris dataset iris = load_iris() X = iris.data # Features y = iris.target # Target variable # Split the dataset 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 Random Forest classifier rf_classifier = RandomForestClassifier(n_estimators=100, n_jobs=-1) # Train the classifier on the training data rf_classifier.fit(X_train, y_train) # Make predictions on the test data y_pred = rf_classifier.predict(X_test) # Calculate the F1 score of the classifier f1 = f1_score(y_test, y_pred, average='weighted') print(f'F1 Score: {f1:.2f}')
copy
Welches Modell wird als Basismodell im Random Forest verwendet?

Welches Modell wird als Basismodell im Random Forest verwendet?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

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