logml.models.registry.tree_based
Classes
|
Base class for sklearn.tree.DecisionTree* models. |
|
Base class for sklearn.ensemble tree models. |
|
Wrapper for sklearn.tree.DecisionTreeClassifier. |
|
Wrapper for sklearn.tree.DecisionTreeRegressor. |
|
Wrapper for sklearn.ensemble.ExtraTreesClassifier. |
|
Wrapper for sklearn.ensemble.ExtraTreesRegressor. |
|
Wrapper for sklearn.ensemble.GradientBoostingClassifier. |
|
Wrapper for sklearn.ensemble.GradientBoostingRegressor. |
|
LightGbm common settings |
|
Wrapper for LGBMClassifier. |
|
Wrapper for LGBMRegressor. |
|
Wrapper for sklearn.ensemble.RandomForestClassifier. |
|
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.