Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Podziel df na zbiór treningowy i testowy, przeznaczając 20% danych na testowanie. Użyj random_state równego 123.
  • Zainicjalizuj XGBRegressor jako xg_reg, używając seed równego 123. 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_reg do danych treningowych i przewidź etykiety zbioru testowego. Zapisz przewidywania w zmiennej preds.
  • Oblicz rmse, używając np.sqrt() oraz funkcji mean_squared_error() z biblioteki sklearn.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))
Edytuj i uruchom kod