glassbox.orchestrator¶
Model selection and hyperparameter search tools.
BaseSearch
¶
Bases: ABC
Abstract base class for search-based model selection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
estimator
|
BaseModel
|
The model to optimize. |
required |
param_space
|
Dict
|
Parameter search space. |
required |
cv_engine
|
BaseSplitter
|
Cross-validation splitter. |
required |
scoring_func
|
Callable
|
Scoring function used to evaluate candidates. |
required |
Attributes:
| Name | Type | Description |
|---|---|---|
best_params_ |
Dict
|
Best found parameter set. |
best_score_ |
float
|
Best scoring value. |
best_estimator_ |
BaseModel
|
Best estimator instance. |
Source code in glassbox/orchestrator/base_search.py
fit
¶
Fit the search object and select the best estimator.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
ndarray
|
Training data of shape (n_samples, n_features). |
required |
y
|
ndarray
|
Target values of shape (n_samples,). |
required |
Returns:
| Type | Description |
|---|---|
Self
|
The fitted search object. |
Source code in glassbox/orchestrator/base_search.py
BaseSplitter
¶
Bases: ABC
Abstract base class for cross-validation splitters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
n_splits
|
int
|
Number of splits. |
5
|
shuffle
|
bool
|
Whether to shuffle data before splitting. |
False
|
Source code in glassbox/orchestrator/base_splitter.py
split
abstractmethod
¶
Generate train/test indices for cross-validation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
ndarray
|
Data array of shape (n_samples, n_features). |
required |
y
|
ndarray
|
Target values of shape (n_samples,). |
required |
Returns:
| Type | Description |
|---|---|
Generator[Tuple[ndarray, ndarray], None, None]
|
Generator yielding training and validation index tuples. |
Source code in glassbox/orchestrator/base_splitter.py
GridSearchCV
¶
Bases: BaseSearch
Exhaustive grid search over a parameter space.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
estimator
|
BaseModel
|
The model to optimize. |
required |
param_space
|
Dict
|
Parameter grid for exhaustive search. |
required |
cv_engine
|
BaseSplitter
|
Cross-validation splitter. |
required |
scoring_func
|
Callable
|
Scoring function used to evaluate candidates. |
required |
Source code in glassbox/orchestrator/base_search.py
RandomizedSearchCV
¶
Bases: BaseSearch
Randomized search over a parameter space.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
estimator
|
BaseModel
|
The model to optimize. |
required |
param_space
|
Dict
|
Distribution for random search. |
required |
cv_engine
|
BaseSplitter
|
Cross-validation splitter. |
required |
scoring_func
|
Callable
|
Scoring function used to evaluate candidates. |
required |
n_iter
|
int
|
Number of random parameter candidates to evaluate. |
10
|
time_budget
|
float
|
Maximum time budget for the search. |
0.0
|
Source code in glassbox/orchestrator/randomized_search.py
KFoldSplitter
¶
Bases: BaseSplitter
K-fold cross-validation splitter.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
n_splits
|
int
|
Number of folds. |
5
|
shuffle
|
bool
|
Whether to shuffle data before splitting. |
False
|
Source code in glassbox/orchestrator/base_splitter.py
split
¶
Generate train/test splits for K-fold cross-validation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
ndarray
|
Data array of shape (n_samples, n_features). |
required |
y
|
ndarray
|
Target values of shape (n_samples,). |
required |
Returns:
| Type | Description |
|---|---|
Generator[Tuple[ndarray, ndarray], None, None]
|
Generator yielding training and validation index tuples. |
Source code in glassbox/orchestrator/splitters.py
StratifiedKFoldSplitter
¶
Bases: BaseSplitter
Stratified K-fold cross-validation splitter.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
n_splits
|
int
|
Number of folds. |
5
|
shuffle
|
bool
|
Whether to shuffle data before splitting. |
False
|
Source code in glassbox/orchestrator/base_splitter.py
split
¶
Generate stratified train/test splits for K-fold cross-validation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
ndarray
|
Data array of shape (n_samples, n_features). |
required |
y
|
ndarray
|
Target values of shape (n_samples,). |
required |
Returns:
| Type | Description |
|---|---|
Generator[Tuple[ndarray, ndarray], None, None]
|
Generator yielding training and validation index tuples. |