IniziaInizia gratis

Convalida incrociata del tuo modello XGBoost

In questo esercizio farai un passo in più usando la pipeline che hai creato per preprocessare e convalidare incrociatamente il tuo modello.

Questo esercizio fa parte del corso

Extreme Gradient Boosting con XGBoost

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una pipeline chiamata xgb_pipeline usando steps.
  • Esegui una convalida incrociata a 10 fold usando cross_val_score(). Dovrai passare la pipeline, X (come dizionario, usando .to_dict("records")), y, il numero di fold che vuoi usare e scoring ("neg_mean_squared_error").
  • Stampa l'RMSE a 10 fold.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import necessary modules
from sklearn.feature_extraction import DictVectorizer
from sklearn.pipeline import Pipeline
from sklearn.model_selection import cross_val_score

# Fill LotFrontage missing values with 0
X.LotFrontage = ____

# Setup the pipeline steps: steps
steps = [("ohe_onestep", DictVectorizer(sparse=False)),
         ("xgb_model", xgb.XGBRegressor(max_depth=2, objective="reg:squarederror"))]

# Create the pipeline: xgb_pipeline
xgb_pipeline = ____

# Cross-validate the model
cross_val_scores = ____

# Print the 10-fold RMSE
print("10-fold RMSE: ", np.mean(np.sqrt(np.abs(____))))
Modifica ed esegui il codice