Alberi decisionali come base learners
È il momento di costruire un modello XGBoost per prevedere i prezzi delle case – non a Boston, Massachusetts, come hai visto nel video, ma ad Ames, Iowa! Questo insieme di dati sui prezzi delle abitazioni è stato precaricato in un DataFrame chiamato df. Se lo esplori nella Shell, vedrai che include varie caratteristiche della casa e della sua posizione in città.
In questo esercizio, il tuo obiettivo è usare alberi come base learners. Per impostazione predefinita, XGBoost utilizza alberi come base learners, quindi non devi specificare che vuoi usare alberi con booster="gbtree".
xgboost è stato importato come xgb e gli array per le feature e il target sono disponibili rispettivamente in X e y.
Questo esercizio fa parte del corso
Extreme Gradient Boosting con XGBoost
Istruzioni dell'esercizio
- Dividi
dfin set di training e di test, riservando il 20% per il test. Usarandom_statepari a123. - Istanzia
XGBRegressorcomexg_reg, usando unseeddi123. Specifica l’objective"reg:squarederror"e usa 10 alberi. Nota: non è necessario specificarebooster="gbtree"perché è il valore predefinito. - Adestra
xg_regsui dati di training e prevedi le etichette del set di test. Salva le previsioni in una variabile chiamatapreds. - Calcola l’
rmseusandonp.sqrt()e la funzionemean_squared_error()dasklearn.metrics, già preimportata.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))