LoslegenKostenlos loslegen

Entscheidungsbäume als Basis-Learner

Jetzt ist es an der Zeit, ein XGBoost-Modell zur Vorhersage von Immobilienpreisen zu bauen – nicht in Boston, Massachusetts, wie im Video, sondern in Ames, Iowa! Dieser Datensatz mit Immobilienpreisen wurde in ein DataFrame namens df geladen. Wenn du ihn im Shell-Panel untersuchst, siehst du eine Vielzahl von Merkmalen zum Haus und seiner Lage in der Stadt.

In dieser Übung nutzt du Bäume als Basis-Learner. Standardmäßig verwendet XGBoost Bäume als Basis-Learner, daher musst du hier nicht explizit mit booster="gbtree" angeben, dass du Bäume verwenden willst.

xgboost wurde als xgb importiert und die Arrays für Features und Zielvariable stehen dir in X bzw. y zur Verfügung.

Diese Übung ist Teil des Kurses

Extreme Gradient Boosting mit XGBoost

Kurs anzeigen

Anleitung zur Übung

  • Teile df in Trainings- und Testmengen auf und reserviere 20 % für das Testen. Verwende random_state gleich 123.
  • Instanziiere den XGBRegressor als xg_reg mit seed gleich 123. Gib "reg:squarederror" als Objective an und verwende 10 Bäume. Hinweis: Du musst booster="gbtree" nicht angeben, das ist der Standard.
  • Fitte xg_reg auf die Trainingsdaten und sage die Labels des Testsets vorher. Speichere die Vorhersagen in einer Variablen namens preds.
  • Berechne das rmse mit np.sqrt() und der Funktion mean_squared_error() aus sklearn.metrics, die bereits importiert wurde.

Interaktive Übung

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

# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, ____=____, random_state=123)

# Instantiate the XGBRegressor: xg_reg
xg_reg = ____

# Fit the regressor to the training set
____

# Predict the labels of the test set: preds
preds = ____

# Compute the rmse: rmse
rmse = ____(____(____, ____))
print("RMSE: %f" % (rmse))
Code bearbeiten und ausführen