pytabkit.models.hyper_opt package
Submodules
pytabkit.models.hyper_opt.coord_opt module
- class pytabkit.models.hyper_opt.coord_opt.CoordOptimizer
Bases:
HyperOptimizer- class CoordOptFuncWrapper
Bases:
object- __init__(f, fixed_params)
- Parameters:
f (Callable[[dict], Tuple[float, Any]])
fixed_params (Dict[str, Any])
- __init__(space, fixed_params, n_hyperopt_steps=50, **config)
- Parameters:
space (Dict[str, Hyperparameter])
fixed_params (Dict[str, Any])
n_hyperopt_steps (int)
- class pytabkit.models.hyper_opt.coord_opt.CoordOptimizerImpl
Bases:
object- __init__(f, space, n_steps, beta=0.5, step_dec_factor=0.5, step_inc_factor=2.0, initial_step_multiplier=8.0)
- Parameters:
f (Callable[[Dict], Tuple[float, Any]])
space (Dict[str, Hyperparameter])
n_steps (int)
beta (float)
step_dec_factor (float)
step_inc_factor (float)
initial_step_multiplier (float)
- already_evaluated(new_hp_values)
- Parameters:
new_hp_values (ndarray) – New hyperparameter values that should be tried.
- Returns:
True if these hyperparameters have already been evaluated before
- Return type:
bool
- convert_hp_values(values)
- Parameters:
values (ndarray)
- Return type:
Dict[str, Any]
- coord_opt_idx(idx)
- Parameters:
idx (int)
- eval(new_hp_values)
- Parameters:
new_hp_values (ndarray)
- Return type:
Tuple[float, Any]
- run()
- Return type:
None
- suggest(new_hp_values)
- Return type:
float
- class pytabkit.models.hyper_opt.coord_opt.Hyperparameter
Bases:
object- __init__(start_value, min_step_size, importance, log_scale=False, only_int=False, min_value=-inf, max_value=inf, out_func=None, max_step_size=inf)
- Parameters:
start_value (int | float)
min_step_size (int | float)
importance (float)
log_scale (bool)
only_int (bool)
min_value (int | float)
max_value (int | float)
out_func (Callable[[Any], Any] | None)
max_step_size (float)
- adjust_step_size(current_value, step_size)
- Parameters:
current_value (float)
step_size (float)
- Return type:
float | None
- apply_tfms(x)
- Parameters:
x (Any)
- Return type:
Any
- pytabkit.models.hyper_opt.coord_opt.identity(x)
pytabkit.models.hyper_opt.hyper_optimizers module
- class pytabkit.models.hyper_opt.hyper_optimizers.ConstantHyperOptimizer
Bases:
HyperOptimizer- __init__(params)
- Parameters:
params (dict)
- class pytabkit.models.hyper_opt.hyper_optimizers.FunctionEvaluationTracker
Bases:
objectHelper class to keep track of where the function to be optimized is evaluated and what are the best parameters
- __init__(f, n_steps, opt_desc, logger)
- Parameters:
f (Callable[[dict], Tuple[float, Any]])
n_steps (int)
opt_desc (str)
logger (Logger)
- get_best_params_and_result()
- Return type:
Tuple[Dict, Tuple[float, Any]]
- class pytabkit.models.hyper_opt.hyper_optimizers.HyperOptimizer
Bases:
object- __init__(n_hyperopt_steps)
- Parameters:
n_hyperopt_steps (int)
- get_n_hyperopt_steps()
- Return type:
int
- optimize(f, seed, opt_desc, logger)
- Parameters:
f (Callable[[dict], Tuple[float, Any]]) – Function to minimize. It should take a dict of parameters
seed (int)
opt_desc (str)
logger (Logger)
- Return type:
Tuple[Dict, Any]
and return a tuple containing the validation loss and additional information about the run (additional information could for example be the early stopping epoch found in this particular run, for example {‘n_estimators’: best_n_estimators}) :param seed: Random seed for optimization :param opt_desc: name of the optimized algorithm / optimization problem
(used for printing optimization intermediate state)
- Parameters:
logger (Logger) – Logger used for printing information
f (Callable[[dict], Tuple[float, Any]])
seed (int)
opt_desc (str)
- Returns:
Returns a tuple containing a dictionary with the optimal parameters
- Return type:
Tuple[Dict, Any]
and the additional info generated by the function at the optimal parameters
- class pytabkit.models.hyper_opt.hyper_optimizers.HyperoptOptimizer
Bases:
HyperOptimizer- class HyperoptFuncWrapper
Bases:
object- __init__(f, fixed_params)
- Parameters:
f (Callable[[dict], Tuple[float, Any]])
fixed_params (dict)
- __init__(space, fixed_params, n_hyperopt_steps=50, **config)
- Parameters:
n_hyperopt_steps (int)
- class pytabkit.models.hyper_opt.hyper_optimizers.SMACOptimizer
Bases:
HyperOptimizer- class SMACFuncWrapper
Bases:
object- __init__(f, fixed_params)
- Parameters:
f (Callable[[dict], Tuple[float, Any]])
fixed_params (Dict[str, Any])
- __init__(space, fixed_params, n_hyperopt_steps=50, tmp_folder='smac3_output', **config)
- Parameters:
fixed_params (Dict[str, Any])
n_hyperopt_steps (int)
tmp_folder (str | Path)
- pytabkit.models.hyper_opt.hyper_optimizers.f_unpack_dict(dct)
Unpacks all sub-dictionaries in given dictionary recursively. There should be no duplicated keys across all nested subdictionaries, or some instances will be lost without warning
Source: https://www.kaggle.com/fanvacoolt/tutorial-on-hyperopt
Parameters:
dct : dictionary to unpack
Returns:
: unpacked dictionary