microsoft / microsoft/SynapseML
Adding custom callback functions parameter to LightGBMRegressor (e.g. pruning callback for Optuna HPO)
- Dominant language
- Scala
- Stars
- 5.2k
- Forks
- 868
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 45
Description
It would be nice that SynapseML LightGBMRegressor implements callbacks parameter which accepts array of custom callback functions which can be used for example for pruning in Optuna HPO, That parameter already exists in standard LightGBM.
Code example in standard LightGBM:
pruning_callback = optuna.integration.LightGBMPruningCallback(trial, "auc")
gbm = lgb.train(param, dtrain, valid_sets=[dvalid], callbacks=[pruning_callback])
Contributor guide
Research direction
Start by locating LightGBMRegressor and reviewing how its existing parameters reach the LightGBM training entry point. Compare that path with standard LightGBM's callbacks parameter and the Optuna pruning example; done means custom callback functions can be supplied through LightGBMRegressor and the behavior is covered by appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, scala
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100