Aan de slagGa gratis aan de slag

Je XGBoost-model cross-validaten

In deze oefening ga je een stap verder door de pipeline die je hebt gemaakt te gebruiken om je model te preprocessen én te cross-validaten.

Deze oefening maakt deel uit van de cursus

Extreme Gradient Boosting met XGBoost

Cursus bekijken

Oefeninstructies

  • Maak een pipeline met de naam xgb_pipeline met behulp van steps.
  • Voer 10-voudige cross-validatie uit met cross_val_score(). Je moet de pipeline, X (als dictionary, via .to_dict("records")), y, het aantal vouwen dat je wilt gebruiken en scoring ("neg_mean_squared_error") meegeven.
  • Print de 10-voudige RMSE.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____))))
Code bewerken en uitvoeren