microsoft / microsoft/SynapseML

Adding custom callback functions parameter to LightGBMRegressor (e.g. pruning callback for Optuna HPO)

Open
#2,406 0 comments 0 reactions 0 assignees View on GitHub
triage
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.