manager.multitask.OptunaTask

manager.multitask.OptunaTask(
    dataframe=None,
    data_test=None,
    data_frame_name='default',
    cache_home=None,
    agg_weights=None,
    index_name='DateTime',
    number_folds=10,
    predict_size=24,
    bounds=None,
    contamination=0.03,
    imputation_method='weighted',
    use_exogenous_features=True,
    n_trials_optuna=15,
    n_trials_spotoptim=10,
    n_initial_spotoptim=5,
    auto_save_models=True,
    train_days=365 * 2,
    val_days=7 * 2,
    log_level=logging.INFO,
    verbose=False,
    **config_overrides,
)

Task 3 — Optuna Bayesian hyperparameter tuning.

Uses Optuna’s TPE sampler to search for optimal LightGBM hyperparameters, then re-fits with the best discovered parameters.

Examples

from spotforecast2.manager.multitask import OptunaTask

task = OptunaTask(n_trials_optuna=5, predict_size=24)
print(f"Task: {task.TASK}")
print(f"Optuna trials: {task.config.n_trials_optuna}")
Task: optuna
Optuna trials: 5

Methods

Name Description
run Run Optuna Bayesian tuning for all targets.

run

manager.multitask.OptunaTask.run(show=True, search_space=None, **kwargs)

Run Optuna Bayesian tuning for all targets.

Parameters

Name Type Description Default
show bool If True, display prediction figures. True
search_space Optional[Callable] Callable (trial) -> dict. None uses the built-in default. None

Returns

Name Type Description
Dict[str, Any] Aggregated prediction package. Per-target packages are stored
Dict[str, Any] on self.results["optuna"].