Árvores de decisão como base learners
Agora é hora de construir um modelo XGBoost para prever preços de casas — não em Boston, Massachusetts, como você viu no vídeo, mas em Ames, Iowa! Esse conjunto de dados de preços de imóveis já foi carregado em um DataFrame chamado df. Se você explorá-lo no Shell, verá que há uma variedade de variáveis sobre a casa e sua localização na cidade.
Neste exercício, seu objetivo é usar árvores como base learners. Por padrão, o XGBoost usa árvores como base learners, então você não precisa especificar que quer usar árvores aqui com booster="gbtree".
xgboost foi importado como xgb e os arrays para as variáveis preditoras e o alvo estão disponíveis em X e y, respectivamente.
Este exercício faz parte do curso
Extreme Gradient Boosting com XGBoost
Instruções do exercício
- Divida
dfem conjuntos de treino e teste, reservando 20% para teste. Userandom_stateigual a123. - Instancie o
XGBRegressorcomoxg_reg, usandoseedigual a123. Especifique o objective"reg:squarederror"e use 10 árvores. Observação: você não precisa especificarbooster="gbtree", pois esse é o padrão. - Ajuste
xg_regaos dados de treino e preveja os rótulos do conjunto de teste. Salve as previsões em uma variável chamadapreds. - Calcule o
rmseusandonp.sqrt()e a funçãomean_squared_error()desklearn.metrics, que já foi importada previamente.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))