Beslisbomen als basisleerders
Tijd om een XGBoost-model te bouwen om huizenprijzen te voorspellen — niet in Boston, Massachusetts, zoals je in de video zag, maar in Ames, Iowa! Deze gegevensset met huizenprijzen is vooraf geladen in een DataFrame met de naam df. Als je het in de Shell verkent, zie je allerlei kenmerken van het huis en de locatie in de stad.
In deze oefening ga je bomen gebruiken als basisleerders. Standaard gebruikt XGBoost bomen als basisleerders, dus je hoeft hier niet te specificeren dat je bomen wilt gebruiken met booster="gbtree".
xgboost is geïmporteerd als xgb en de arrays voor de features en de target zijn beschikbaar in respectievelijk X en y.
Deze oefening maakt deel uit van de cursus
Extreme Gradient Boosting met XGBoost
Oefeninstructies
- Splits
dfin trainings- en testsets, waarbij je 20% achterhoudt voor testen. Gebruik eenrandom_statevan123. - Instantieer de
XGBRegressoralsxg_reg, met eenseedvan123. Specificeer een objective van"reg:squarederror"en gebruik 10 bomen. Let op: je hoeftbooster="gbtree"niet te specificeren, dit is de standaard. - Fit
xg_regop de trainingsdata en voorspel de labels van de testset. Sla de voorspellingen op in een variabelepreds. - Bereken de
rmsemetnp.sqrt()en de functiemean_squared_error()uitsklearn.metrics, die al is geïmporteerd.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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))