canari.model_optimizer#

This module automates the search for optimal hyperparameters of a Model instance by leveraging the Ray Tune external library.

class canari.model_optimizer.ModelOptimizer(model: Callable, param_space: dict, train_data: dict | None = None, validation_data: dict | None = None, num_optimization_trial: int | None = 50, grid_search: bool | None = False, algorithm: str | None = 'default', mode: str | None = 'min')[source]#

Bases: object

Optimize hyperparameters for Model using the Ray Tune external library using the metric metric_optim.

Parameters:
  • model (Callable) – Function that returns a model instance given a model configuration.

  • param_space (Dict[str, list]) – Parameter search space: two-value lists [min, max] for defining the bounds of the optimization.

  • train_data (Dict[str, np.ndarray], optional) – Training data.

  • validation_data (Dict[str, np.ndarray], optional) – Validation data.

  • num_optimization_trial (int, optional) – Number of random search trials (ignored for grid search). Defaults to 50.

  • grid_search (bool, optional) – If True, perform grid search. Defaults to False.

  • algorithm (str, optional) – Search algorithm: ‘default’ (OptunaSearch) or ‘parallel’ (ASHAScheduler). Defaults to ‘OptunaSearch’.

  • mode (str, optional) – Direction for optimization stopping: ‘min’ (default).

model_optim#

The best model instance initialized with optimal parameters after running optimize().

param_optim#

The best hyperparameter configuration found during optimization.

Type:

Dict

get_best_model()[source]#

Retrieve the optimized model instance after running optimization.

Returns:

Model:: Model instance initialized with the best

hyperparameter values.

get_best_param()[source]#

Retrieve the optimized parameters after running optimization.

Returns:

Best hyperparameter values.

Return type:

dict

optimize()[source]#

Run hyperparameter optimization over the defined search space.