Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Splits df in trainings- en testsets, waarbij je 20% achterhoudt voor testen. Gebruik een random_state van 123.
  • Instantieer de XGBRegressor als xg_reg, met een seed van 123. Specificeer een objective van "reg:squarederror" en gebruik 10 bomen. Let op: je hoeft booster="gbtree" niet te specificeren, dit is de standaard.
  • Fit xg_reg op de trainingsdata en voorspel de labels van de testset. Sla de voorspellingen op in een variabele preds.
  • Bereken de rmse met np.sqrt() en de functie mean_squared_error() uit sklearn.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))
Code bewerken en uitvoeren