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
Anleitung zur Übung
- Teile
dfin Trainings- und Testmengen auf und reserviere 20 % für das Testen. Verwenderandom_stategleich123. - Instanziiere den
XGBRegressoralsxg_regmitseedgleich123. Gib"reg:squarederror"als Objective an und verwende 10 Bäume. Hinweis: Du musstbooster="gbtree"nicht angeben, das ist der Standard. - Fitte
xg_regauf die Trainingsdaten und sage die Labels des Testsets vorher. Speichere die Vorhersagen in einer Variablen namenspreds. - Berechne das
rmsemitnp.sqrt()und der Funktionmean_squared_error()aussklearn.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))