ml_grid.pipeline.hierarchical_hyperparameter_search
Enhanced hyperparameter search with hierarchical optimization.
Integrates the HierarchicalSearchOptimizer with existing Grid/Random/Bayesian search.
Classes
Initialize hierarchical hyperparameter search. |
Module Contents
- class ml_grid.pipeline.hierarchical_hyperparameter_search.HierarchicalHyperparameterSearch(algorithm: Any, parameter_space: Dict[str, Any], method_name: str, global_params: Any, ml_grid_object: Any, max_total_evals: int = 100, reduction_factor: float = 0.4, eval_function: Callable | None = None)[source]
Initialize hierarchical hyperparameter search.
- Parameters:
algorithm – The scikit-learn compatible estimator instance
parameter_space – Hyperparameter search space dictionary
method_name – Name of the algorithm for logging
global_params – Global parameters singleton instance
ml_grid_object – Main pipeline object containing data and settings
max_total_evals – Total evaluation budget across all stages
reduction_factor – Space reduction factor per stage (0-1)
eval_function – Optional custom evaluation function Signature: params -> score, fit_time
- run_hierarchical_search(X_train: pandas.DataFrame, y_train: pandas.Series) Tuple[Any, Dict[str, List[Dict]]][source]
Execute hierarchical hyperparameter search.
- Parameters:
X_train – Training features DataFrame
y_train – Training labels Series
- Returns:
Tuple of (best_estimator, all_results_by_stage)
The method performs: 1. Coarse search: Broad exploration with minimal evaluations per parameter 2. Fine search: Focused exploitation on promising regions 3. Refinement: Detailed optimization of top candidates
Each stage uses dynamic space reduction based on previous results.