Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Extrabäume | 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
Extrabäume

Extra Trees, kurz für Extremely Randomized Trees, ist eine Bagging-Ensemble-Lerntechnik, die auf dem Konzept der Entscheidungsbäume aufbaut, um ein robusteres und vielfältigeres Modell zu erstellen.

Wie funktioniert der ExtraTrees-Algorithmus?

Es ist eine Variation des Random-Forest-Algorithmus, die noch mehr Zufälligkeit in den Baumaufbau einführt:

  1. Der Extra-Trees-Algorithmus erstellt, wie der Random-Forests-Algorithmus, viele Entscheidungsbäume, aber das Sampling für jeden Baum erfolgt zufällig, ohne Zurücklegen;
  2. Eine bestimmte Anzahl von Merkmalen aus der Gesamtheit der Merkmale wird ebenfalls zufällig für jeden Baum ausgewählt;
  3. Das wichtigste und einzigartige Merkmal von Extra Trees ist die zufällige Auswahl eines Trennwerts für ein Merkmal. Anstatt einen lokal optimalen Wert mit Gini oder Entropie zu berechnen, um die Daten zu trennen, wählt der Algorithmus zufällig einen Trennwert aus. Dies macht die Bäume diversifiziert und unkorreliert.

Hinweis

Wir können auch das Attribut .feature_importances_ verwenden, um die Auswirkungen der Merkmale auf das Ergebnis des Modells zu messen.

Beispiel

Wir können ExtraTrees in Python genauso wie Random Forest mit den Klassen ExtraTreesClassifier oder ExtraTreesRegressor verwenden:

1234567891011121314151617181920212223242526272829303132
# Import necessary libraries from sklearn.model_selection import train_test_split from sklearn.ensemble import ExtraTreesRegressor from sklearn.metrics import mean_squared_error import numpy as np # Generate example data with a more complex relationship np.random.seed(42) X = np.random.rand(100, 2) # 100 samples with 2 features y = 3*X[:, 0]**2 + 5*X[:, 1]**3 + np.random.normal(0, 2, 100) # Complex relationship with noise # 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 and train the ExtraTrees Regressor regressor = ExtraTreesRegressor(n_estimators=100, random_state=42) regressor.fit(X_train, y_train) # Make predictions y_pred = regressor.predict(X_test) # Calculate Mean Squared Error (MSE) as the evaluation metric mse = mean_squared_error(y_test, y_pred) print(f'Mean Squared Error: {mse:.4f}') # Get feature importances feature_importances = regressor.feature_importances_ # Print feature importances print('Feature Importances:') for feature, importance in enumerate(feature_importances): print(f'Feature {feature}: {importance:.4f}')
copy
In welchem der Ensembles sind die Basismodelle vielfältiger und unkorrelierter?

In welchem der Ensembles sind die Basismodelle vielfältiger und unkorrelierter?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

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