lightgbm callbacksのチートシート
概要
- 以下の機能について、callbackで関数を与える必要がある
- early stopping
- learning rate
- log
- 通常のtrain, cvなどの学習関数の引数で与えられる
具体例
early stopping
- 最小のラウンドを設定できる
early_stopping_func = lgb.early_stopping(stopping_rounds=10, first_metric_only=False)
log
- ログの粒度
- 1だと、1roundごとに表示
- -1だと非表示
log_evaluation_func = lgb.log_evaluation(-1)
learning rate
- ラウンドに応じて学習率を小さくできる
learning_rate_func = lgb.reset_parameter(learning_rate=lambda iter: 0.05 * (0.99 ** iter))
train関数に渡す例
model = lgb.train(params,
train,
num_boost_round=100,
valid_sets=eval,
callbacks=[
early_stopping_func,
log_evaluation_func,
learning_rate_func
],
init_model=model)