Parameters

class entmoot.models.model_params.UncParams(beta: float = 1.96, bound_coeff: float = 0.5, acq_sense: Literal['exploration', 'penalty'] = 'exploration', dist_trafo: Literal['normal', 'standard'] = 'normal', dist_metric: Literal['euclidean_squared', 'l1', 'l2'] = 'euclidean_squared', cat_metric: Literal['overlap', 'of', 'goodall4'] = 'overlap')

Bases: object

This dataclass contains all uncertainty parameters.

acq_sense: Literal['exploration', 'penalty'] = 'exploration'

“exploration”: try to find good points far away from known training data, “penalty”: stay close to explored areas and try to find even better points there.

beta: float = 1.96

weight for penalty/exploration part in objective function

bound_coeff: float = 0.5

the predictions of the GBT model are cut off, if their absolute value exceeds bound_coeff * variance of the y-values.

cat_metric: Literal['overlap', 'of', 'goodall4'] = 'overlap'

different ways to compute the distance of categorical features

dist_metric: Literal['euclidean_squared', 'l1', 'l2'] = 'euclidean_squared'

compute distance measure using the l_1, the l_2 or the squared l_2 norm.

dist_trafo: Literal['normal', 'standard'] = 'normal'

controls two different types of transformations by scaling/shifting. “normal”: shift by lower bound, scale by difference of smalles and largest value “standard”: shift by mean, scale by standard deviation

class entmoot.models.model_params.TrainParams(objective: str = 'regression', metric: str = 'rmse', boosting: str = 'gbdt', num_boost_round: int = 100, max_depth: int = 3, min_data_in_leaf: int = 1, min_data_per_group: int = 1, verbose: int = -1)

Bases: object

This dataclass contains all hyperparameters that are used by lightbm during training and documented here https://lightgbm.readthedocs.io/en/latest/Parameters.html

boosting: str = 'gbdt'
max_depth: int = 3
metric: str = 'rmse'
min_data_in_leaf: int = 1
min_data_per_group: int = 1
num_boost_round: int = 100
objective: str = 'regression'
verbose: int = -1
class entmoot.models.model_params.TreeTrainParams(train_params: ~entmoot.models.model_params.TrainParams = <factory>, train_lib: ~typing.Literal['lgbm'] = 'lgbm')

Bases: object

This dataclass contains all parameters needed for the tree training.

train_lib: Literal['lgbm'] = 'lgbm'
train_params: TrainParams
class entmoot.models.model_params.EntingParams(unc_params: ~entmoot.models.model_params.UncParams = <factory>, tree_train_params: ~entmoot.models.model_params.TreeTrainParams = <factory>)

Bases: object

Contains parameters for a mean and uncertainty model.

Provides a structured dataclass for the parameters of an Enting model, alongside default values and some light data validation.

tree_train_params: TreeTrainParams
unc_params: UncParams