logml.models.registry.tree_based

Classes

BaseDecisionTreeModel([params, logger])

Base class for sklearn.tree.DecisionTree* models.

BaseTreeEnsembleModel([params, logger])

Base class for sklearn.ensemble tree models.

DecisionTreeClassifierModel([params, logger])

Wrapper for sklearn.tree.DecisionTreeClassifier.

DecisionTreeRegressorModel([params, logger])

Wrapper for sklearn.tree.DecisionTreeRegressor.

ExtraTreesClassifierModel([params, logger])

Wrapper for sklearn.ensemble.ExtraTreesClassifier.

ExtraTreesRegressorModel([params, logger])

Wrapper for sklearn.ensemble.ExtraTreesRegressor.

GradientBoostingClassifierModel(*args, **kwargs)

Wrapper for sklearn.ensemble.GradientBoostingClassifier.

GradientBoostingRegressorModel([params, logger])

Wrapper for sklearn.ensemble.GradientBoostingRegressor.

LightGbmBaseModel([params, logger])

LightGbm common settings

LightGbmClassifierModel([params, logger])

Wrapper for LGBMClassifier.

LightGbmRegressorModel(*args, **kwargs)

Wrapper for LGBMRegressor.

RandomForestClassifierModel([params, logger])

Wrapper for sklearn.ensemble.RandomForestClassifier.

RandomForestRegressorModel([params, logger])

Wrapper for sklearn.ensemble.RandomForestRegressor.

class logml.models.registry.tree_based.BaseDecisionTreeModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.base.BaseModel

Base class for sklearn.tree.DecisionTree* models.

TAGS = ['tree']
FE_MODEL_ATTRIBUTE = 'feature_importances_'
class logml.models.registry.tree_based.LightGbmBaseModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.BaseDecisionTreeModel, logml.model_search.shap.ShapExplainable

LightGbm common settings

DEFAULT_PARAMS = {'importance_type': 'gain', 'max_depth': 5, 'n_jobs': -1, 'num_iterations': 150}
PARAMS_SPACE = {'boosting_type': ['gbdt'], 'colsample_bytree': [1.0], 'importance_type': 'gain', 'learning_rate': [0.1, 0.05], 'max_depth': [3, 5, 10, -1], 'n_jobs': [2], 'num_iterations': [25, 50, 100, 250], 'num_leaves': [15, 31, 63, 127], 'reg_alpha': [0, {'distribution': 'loguniform', 'params': [-5, 1]}], 'reg_lambda': [0, {'distribution': 'loguniform', 'params': [-5, 1]}]}
NAME_REGEX = re.compile('[^A-Za-z0-9_]+')
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters

Returns

Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.

fit(dataset: logml.data.datasets.cv_dataset.ModelingDataset, fit_params: Optional[Dict] = None, train_final_model=False)

See parent description.

class logml.models.registry.tree_based.LightGbmRegressorModel(*args, **kwargs)

Bases: logml.models.registry.tree_based.LightGbmBaseModel

Wrapper for LGBMRegressor.

TASK = 'regression'
F_MODEL

alias of lightgbm.sklearn.LGBMRegressor

class logml.models.registry.tree_based.LightGbmClassifierModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.LightGbmBaseModel

Wrapper for LGBMClassifier.

TASK = 'classification'
F_MODEL

alias of lightgbm.sklearn.LGBMClassifier

class logml.models.registry.tree_based.DecisionTreeRegressorModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.BaseDecisionTreeModel, logml.model_search.shap.ShapExplainable

Wrapper for sklearn.tree.DecisionTreeRegressor.

TASK = 'regression'
F_MODEL

alias of sklearn.tree._classes.DecisionTreeRegressor

DEFAULT_PARAMS = {'random_state': None}
PARAMS_SPACE = {'criterion': ['gini', 'entropy'], 'max_features': [1.0], 'min_samples_leaf': [1, 3, 5], 'splitter': ['best', 'random']}
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters

Returns

Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.

class logml.models.registry.tree_based.DecisionTreeClassifierModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.BaseDecisionTreeModel, logml.model_search.shap.ShapExplainable

Wrapper for sklearn.tree.DecisionTreeClassifier.

TASK = 'classification'
F_MODEL

alias of sklearn.tree._classes.DecisionTreeClassifier

DEFAULT_PARAMS = {'random_state': None}
PARAMS_SPACE = {'criterion': ['gini', 'entropy'], 'max_features': [1.0], 'min_samples_leaf': [1, 3, 5], 'splitter': ['best', 'random']}
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters

Returns

Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.

class logml.models.registry.tree_based.BaseTreeEnsembleModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.base.BaseModel

Base class for sklearn.ensemble tree models.

TAGS = ['tree', 'ensemble']
FE_MODEL_ATTRIBUTE = 'feature_importances_'
class logml.models.registry.tree_based.ExtraTreesRegressorModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.BaseTreeEnsembleModel, logml.model_search.shap.ShapExplainable

Wrapper for sklearn.ensemble.ExtraTreesRegressor.

F_MODEL

alias of sklearn.ensemble._forest.ExtraTreesRegressor

TASK = 'regression'
DEFAULT_PARAMS = {'max_depth': 10, 'n_estimators': 50, 'n_jobs': -1, 'random_state': None}
PARAMS_SPACE = {'max_depth': [1, 2, 3, 5], 'max_features': [1.0], 'n_estimators': [25, 50, 100, 150, 250], 'n_jobs': [2]}
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters

Returns

Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.

class logml.models.registry.tree_based.GradientBoostingRegressorModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.BaseTreeEnsembleModel, logml.model_search.shap.ShapExplainable

Wrapper for sklearn.ensemble.GradientBoostingRegressor.

F_MODEL

alias of sklearn.ensemble._gb.GradientBoostingRegressor

TASK = 'regression'
DEFAULT_PARAMS = {'random_state': None}
PARAMS_SPACE = {'learning_rate': {'distribution': 'loguniform', 'params': [-4, -2]}, 'loss': ['ls', 'huber'], 'max_depth': [1, 3, 5], 'n_estimators': [25, 50, 75, 100, 150]}
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters

Returns

Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.

class logml.models.registry.tree_based.RandomForestRegressorModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.BaseTreeEnsembleModel, logml.model_search.shap.ShapExplainable

Wrapper for sklearn.ensemble.RandomForestRegressor.

F_MODEL

alias of sklearn.ensemble._forest.RandomForestRegressor

TASK = 'regression'
DEFAULT_PARAMS = {'n_jobs': -1, 'random_state': None}
PARAMS_SPACE = {'max_depth': [3, 5, 20], 'max_features': [1.0], 'n_estimators': [10, 20, 50, 100], 'n_jobs': [2]}
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters

Returns

Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.

class logml.models.registry.tree_based.ExtraTreesClassifierModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.BaseTreeEnsembleModel, logml.model_search.shap.ShapExplainable

Wrapper for sklearn.ensemble.ExtraTreesClassifier.

TASK = 'classification'
F_MODEL

alias of sklearn.ensemble._forest.ExtraTreesClassifier

DEFAULT_PARAMS = {'max_depth': 10, 'n_estimators': 50, 'n_jobs': -1, 'random_state': None}
PARAMS_SPACE = {'criterion': ['gini', 'entropy'], 'max_depth': [1, 2, 3, 5, 10], 'n_estimators': [25, 50, 75, 100, 150], 'n_jobs': [2]}
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters

Returns

Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.

class logml.models.registry.tree_based.GradientBoostingClassifierModel(*args, **kwargs)

Bases: logml.models.registry.tree_based.BaseTreeEnsembleModel, logml.model_search.shap.ShapExplainable

Wrapper for sklearn.ensemble.GradientBoostingClassifier.

F_MODEL

alias of sklearn.ensemble._gb.GradientBoostingClassifier

TASK = 'classification'
DEFAULT_PARAMS = {'loss': 'deviance', 'random_state': None}
PARAMS_SPACE = {'criterion': ['friedman_mse', 'mse', 'mae'], 'learning_rate': {'distribution': 'loguniform', 'params': [0.01, 2.0]}, 'loss': ['deviance'], 'max_depth': {'distribution': 'uniformint', 'params': [1, 10]}, 'max_features': [1.0], 'min_samples_leaf': {'distribution': 'uniformint', 'params': [1, 50]}, 'min_samples_split': {'distribution': 'uniformint', 'params': [2, 20]}, 'n_estimators': [25, 50, 75, 100, 150], 'subsample': {'distribution': 'uniform', 'params': [0.1, 1.0]}}
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters

Returns

Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.

get_shap_invoke_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer invocation parameters Return dictionary to be passed to estimator function.

validate_shap_run(dataset=None, **kwargs)

Validate data before run.

class logml.models.registry.tree_based.RandomForestClassifierModel(params: Optional[dict] = None, logger=None)

Bases: logml.models.registry.tree_based.BaseTreeEnsembleModel, logml.model_search.shap.ShapExplainable

Wrapper for sklearn.ensemble.RandomForestClassifier.

F_MODEL

alias of sklearn.ensemble._forest.RandomForestClassifier

TASK = 'classification'
DEFAULT_PARAMS = {'bootstrap': True, 'min_samples_split': 2, 'n_jobs': -1, 'random_state': None}
PARAMS_SPACE = {'criterion': ['gini', 'entropy'], 'max_depth': {'distribution': 'uniformint', 'params': [1, 5]}, 'max_features': [1.0], 'n_estimators': [25, 50, 100, 150], 'n_jobs': [2]}
get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict

Define shap explainer initialization parameters.