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 metricmetric_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 besthyperparameter values.