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
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.
| Name | Description |
|---|---|
| run | Run Optuna Bayesian tuning for all targets. |
Run Optuna Bayesian tuning for all targets.
| 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 |
| Name | Type | Description |
|---|---|---|
| Dict[str, Any] | Aggregated prediction package. Per-target packages are stored | |
| Dict[str, Any] | on self.results["optuna"]. |