XGBoost-modellen trainen
Elke Machine Learning-methode kan potentieel overfitten. Dat ga je in dit voorbeeld met XGBoost zien. Je werkt opnieuw met de Store Item Demand Forecasting Challenge. De DataFrame train is beschikbaar in je werkruimte.
Laten we eerst meerdere XGBoost-modellen trainen met verschillende sets hyperparameters via de learning-API van XGBoost. De enige hyperparameter die je aanpast is:
max_depth- de maximale diepte van een boom. Als je deze waarde verhoogt, wordt het model complexer en neemt de kans op overfitting toe.
Deze oefening maakt deel uit van de cursus
Een Kaggle-competitie winnen met Python
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
import xgboost as xgb
# Create DMatrix on train data
dtrain = xgb.DMatrix(data=train[['store', 'item']],
label=train['sales'])
# Define xgboost parameters
params = {'objective': 'reg:linear',
'____': ____,
'verbosity': 0}
# Train xgboost model
xg_depth_2 = xgb.train(params=params, dtrain=dtrain)