IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Dividi df in set di training e di test, riservando il 20% per il test. Usa random_state pari a 123.
  • Istanzia XGBRegressor come xg_reg, usando un seed di 123. Specifica l’objective "reg:squarederror" e usa 10 alberi. Nota: non è necessario specificare booster="gbtree" perché è il valore predefinito.
  • Adestra xg_reg sui dati di training e prevedi le etichette del set di test. Salva le previsioni in una variabile chiamata preds.
  • Calcola l’rmse usando np.sqrt() e la funzione mean_squared_error() da sklearn.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))
Modifica ed esegui il codice