Drzewa decyzyjne jako bazowe modele uczące
Czas zbudować model XGBoost do przewidywania cen domów – nie w Bostonie w stanie Massachusetts, jak w filmie, ale w Ames w stanie Iowa! Zbiór danych z cenami nieruchomości został wczytany do ramki danych df. Jeśli przejrzysz go w Shell, zobaczysz różnorodne cechy opisujące domy i ich lokalizację w mieście.
Celem tego ćwiczenia jest użycie drzew jako bazowych modeli uczących. Domyślnie XGBoost właśnie z nich korzysta, więc nie musisz jawnie podawać booster="gbtree".
xgboost został zaimportowany jako xgb, a tablice cech i wartości docelowych są dostępne odpowiednio w X i y.
To ćwiczenie jest częścią kursu
Extreme Gradient Boosting with XGBoost
Instrukcje do ćwiczenia
- Podziel
dfna zbiór treningowy i testowy, przeznaczając 20% danych na testowanie. Użyjrandom_staterównego123. - Zainicjalizuj
XGBRegressorjakoxg_reg, używającseedrównego123. Ustaw funkcję celu na"reg:squarederror"i użyj 10 drzew. Uwaga: nie musisz podawaćbooster="gbtree", ponieważ jest to wartość domyślna. - Dopasuj
xg_regdo danych treningowych i przewidź etykiety zbioru testowego. Zapisz przewidywania w zmiennejpreds. - Oblicz
rmse, używającnp.sqrt()oraz funkcjimean_squared_error()z bibliotekisklearn.metrics, która została już wcześniej zaimportowana.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))