XGBoostモデルを学習する
どのMachine Learning手法でも、過学習が起こり得ます。ここではXGBoostを使った例でそれを確認します。今回も、Store Item Demand Forecasting Challengeのデータを使います。train DataFrameはワークスペースに用意されています。
まず、XGBoostのLearning APIを用いて、ハイパーパラメータの異なる複数のXGBoostモデルを学習してみましょう。変更するハイパーパラメータは1つだけです。
max_depth- 木の最大深さ。この値を大きくするとモデルは複雑になり、過学習のリスクが高まります。
この演習はコースの一部です
Pythonで挑むKaggleコンペティション
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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:squarederror',
'____': ____,
'verbosity': 0}
# Train xgboost model
xg_depth_2 = xgb.train(params=params, dtrain=dtrain)