Validarea încrucișată a modelului XGBoost
În acest exercițiu, vei merge un pas mai departe, folosind pipeline-ul creat pentru a preprocesa și valida încrucișat modelul.
Acest exercițiu face parte din cursul
Gradient Boosting Extrem cu XGBoost
Instrucțiuni pentru exercițiu
- Creează un pipeline numit
xgb_pipelinefolosindsteps. - Efectuează validarea încrucișată pe 10 fold-uri folosind
cross_val_score(). Va trebui să transmiți pipeline-ul,X(ca dicționar, folosind.to_dict("records")),y, numărul de fold-uri dorit șiscoring("neg_mean_squared_error"). - Afișează RMSE-ul pe 10 fold-uri.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____))))