Rozhodovací stromy jako základní modely
Teď přišel čas sestavit model XGBoost pro predikci cen nemovitostí – tentokrát ne v Bostonu, ale v Ames v Iowě! Dataset s cenami nemovitostí je předem načtený do DataFrame s názvem df. Pokud ho prozkoumáš v shellu, uvidíš, že obsahuje různé vlastnosti domu i jeho polohy ve městě.
Cílem tohoto cvičení je použít stromy jako základní modely. XGBoost používá stromy jako základní modely ve výchozím nastavení, takže nemusíš explicitně zadávat booster="gbtree".
xgboost byl naimportován jako xgb a pole příznaků a cílové hodnoty jsou dostupné v proměnných X a y.
Toto cvičení je součástí kurzu
Extreme Gradient Boosting with XGBoost
Pokyny k cvičení
- Rozděl
dfna trénovací a testovací sady s 20 % dat vyhrazených pro testování. Použijrandom_states hodnotou123. - Vytvoř instanci
XGBRegressorjakoxg_regseseednastaveným na123. Zadej cílovou funkci"reg:squarederror"a použij 10 stromů. Poznámka:booster="gbtree"nemusíš zadávat, protože je to výchozí nastavení. - Natrénuj
xg_regna trénovacích datech a predikuj štítky testovací sady. Výsledky predikce ulož do proměnnépreds. - Vypočítej
rmsepomocínp.sqrt()a funkcemean_squared_error()zsklearn.metrics, která je předem naimportována.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))