logml.models.registry.survival
Survival models with sklearn api.
Classes
|
Wrapper for sksurv.linear_model.CoxnetSurvivalAnalysis - Lasso. |
|
Wrapper for sksurv.linear_model.CoxnetSurvivalAnalysis - Elastic. |
|
Wrapper for sksurv.linear_model.CoxPHSurvivalAnalysis - Ridge. |
|
Wrapper for sksurv.ensemble.GradientBoostingSurvivalAnalysis |
|
Wrapper for sksurv.linear_model.IPCRidge |
|
Wrapper for sksurv.ensemble.RandomSurvivalForest |
|
Wrapper for sksurv.svm.HingeLossSurvivalSVM |
|
Wrapper for sksurv.svm.FastKernelSurvivalSVM Note on usage: When rank_ratio parameter is 1, only ranking is performed. |
|
Wrapper for sksurv.svm.MinlipSurvivalAnalysis |
|
Wrapper for sksurv.svm.NaiveSurvivalSVM |
|
Wrapper for sksurv.svm.FastSurvivalSVM Note on usage: When rank_ratio parameter is 1, only ranking is performed. |
- class logml.models.registry.survival.RandomSurvivalForestModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
,logml.model_search.shap.ShapExplainable
Wrapper for sksurv.ensemble.RandomSurvivalForest
- TASK = 'survival'
- TAGS = ['tree', <ModelingTask.SURV: 'survival'>]
- F_MODEL
alias of
sksurv.ensemble.forest.RandomSurvivalForest
- FE_MODEL_ATTRIBUTE = None
- DEFAULT_PARAMS = {'n_jobs': -1}
- PARAMS_SPACE = {'max_depth': [None, 3, 5, 10], 'max_features': [1.0], 'n_estimators': [25, 50, 100, 200, 300]}
- get_feature_importance(dataset: logml.data.datasets.survival_dataset.SurvivalDataset, **_kwargs)
Get median FIs per feature across CV folds.
- 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.survival.CoxNetModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
,logml.model_search.shap.ShapExplainable
Wrapper for sksurv.linear_model.CoxnetSurvivalAnalysis - Elastic.
- TASK = 'survival'
- TAGS = ['linear', <ModelingTask.SURV: 'survival'>, 'regularization']
- F_MODEL
alias of
sksurv.linear_model.coxnet.CoxnetSurvivalAnalysis
- FE_MODEL_ATTRIBUTE = 'coef_'
- DEFAULT_PARAMS = {'alpha_min_ratio': 0.01, 'l1_ratio': 0.5, 'n_alphas': 100}
- PARAMS_SPACE = {'alpha_min_ratio': [0.001, 0.01, 0.1], 'l1_ratio': {'distribution': 'uniform', 'params': [0.2, 0.8]}, 'n_alphas': [200, 100, 50, 10]}
- predict_fold(estimator, x_features: numpy.ndarray, **kwargs)
Predict for single fold.
- 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.survival.CoxLassoModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.registry.survival.CoxNetModel
Wrapper for sksurv.linear_model.CoxnetSurvivalAnalysis - Lasso.
- DEFAULT_PARAMS = {'alpha_min_ratio': 0.01, 'l1_ratio': 1.0, 'n_alphas': 100}
- PARAMS_SPACE = {'alpha_min_ratio': [0.001, 0.01, 0.1], 'l1_ratio': [1.0], 'n_alphas': [200, 100, 50, 10]}
- class logml.models.registry.survival.CoxRidgeModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.registry.survival.CoxNetModel
Wrapper for sksurv.linear_model.CoxPHSurvivalAnalysis - Ridge.
- DEFAULT_PARAMS = {'alpha_min_ratio': 0.01, 'l1_ratio': 1e-08, 'n_alphas': 100}
- PARAMS_SPACE = {'alpha_min_ratio': [0.001, 0.01, 0.1], 'l1_ratio': [1e-08], 'n_alphas': [200, 100, 50, 10]}
- class logml.models.registry.survival.IPCRidgeModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
Wrapper for sksurv.linear_model.IPCRidge
- TASK = 'survival'
- TAGS = ['linear', <ModelingTask.SURV: 'survival'>, 'regularization']
- F_MODEL
alias of
sksurv.linear_model.aft.IPCRidge
- FE_MODEL_ATTRIBUTE = 'coef_'
- DEFAULT_PARAMS = {'alpha': 0.001}
- PARAMS_SPACE = {'alpha': {'distribution': 'loguniform', 'params': [-12, -5]}}
- class logml.models.registry.survival.GradientBoostingSAModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
,logml.model_search.shap.ShapExplainable
Wrapper for sksurv.ensemble.GradientBoostingSurvivalAnalysis
- TASK = 'survival'
- TAGS = ['ensemble', <ModelingTask.SURV: 'survival'>, 'tree']
- F_MODEL
alias of
sksurv.ensemble.boosting.GradientBoostingSurvivalAnalysis
- FE_MODEL_ATTRIBUTE = 'feature_importances_'
- DEFAULT_PARAMS = {'criterion': 'friedman_mse', 'dropout_rate': 0.1, 'learning_rate': 0.01, 'loss': 'coxph', 'max_depth': 3, 'max_features': 'auto', 'min_samples_leaf': 1, 'n_estimators': 100, 'random_state': None, 'subsample': 0.8}
- PARAMS_SPACE = {'criterion': ['friedman_mse'], 'dropout_rate': [0.0, 0.1, 0.2], 'learning_rate': {'distribution': 'uniform', 'params': [0.0001, 0.1]}, 'loss': ['coxph'], 'max_depth': [2, 3, 4], 'max_features': [1.0], 'min_samples_leaf': [1, 3], 'n_estimators': [25, 50, 100, 150], 'subsample': [0.8, 0.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.
- class logml.models.registry.survival.SurvivalSVMModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
Wrapper for sksurv.svm.FastSurvivalSVM Note on usage: When rank_ratio parameter is 1, only ranking is performed. When it is zero, objective is regression, so the whole semantics gets reversed. With ranking prediction is risk (the lower the better), with regression preidction is survival time (the higher the better). In this particular model rank_ratio is (ans should be) fixed to 1.
- TASK = 'survival'
- TAGS = ['svm', <ModelingTask.SURV: 'survival'>, 'exclude']
- F_MODEL
alias of
sksurv.svm.survival_svm.FastSurvivalSVM
- FE_MODEL_ATTRIBUTE = 'coef_'
- DEFAULT_PARAMS = {'alpha': 1.0, 'random_state': None, 'rank_ratio': 1.0}
- PARAMS_SPACE = {'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'max_iter': [20, 50, 100, 200], 'optimizer': ['avltree', 'direct-count', 'PRSVM', 'rbtree'], 'rank_ratio': 1.0}
- class logml.models.registry.survival.SurvivalKernelSVMModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
Wrapper for sksurv.svm.FastKernelSurvivalSVM Note on usage: When rank_ratio parameter is 1, only ranking is performed. When it is zero, objective is regression, so the whole semantics gets reversed. With ranking prediction is risk (the lower the better), with regression preidction is survival time (the higher the better). In this particular model rank_ratio is (ans should be) fixed to 1.
- TASK = 'survival'
- TAGS = ['svm', <ModelingTask.SURV: 'survival'>]
- F_MODEL
alias of
sksurv.svm.survival_svm.FastKernelSurvivalSVM
- FE_MODEL_ATTRIBUTE = None
- DEFAULT_PARAMS = {'alpha': 1.0, 'random_state': None, 'rank_ratio': 1.0}
- PARAMS_SPACE = [{'kernel': ['poly', 'sigmoid'], 'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'rank_ratio': 1.0, 'max_iter': [20, 50, 100, 200], 'degree': [2, 3, 4, 5], 'coef0': [0, 0.5, 1]}, {'kernel': ['linear', 'cosine'], 'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'rank_ratio': 1.0, 'max_iter': [20, 50, 100, 200]}, {'kernel': ['rbf'], 'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'rank_ratio': 1.0, 'max_iter': [20, 50, 100, 200], 'gamma': [None, {'distribution': 'loguniform', 'params': [-5, 1]}]}]
- class logml.models.registry.survival.SurvivalHingeLossSVMModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
Wrapper for sksurv.svm.HingeLossSurvivalSVM
- TASK = 'survival'
- TAGS = ['svm', <ModelingTask.SURV: 'survival'>]
- F_MODEL
alias of
sksurv.svm.minlip.HingeLossSurvivalSVM
- FE_MODEL_ATTRIBUTE = None
- DEFAULT_PARAMS = {'alpha': 1.0, 'pairs': 'nearest'}
- PARAMS_SPACE = [{'solver': ['ecos', 'osqp'], 'kernel': ['poly', 'rbf', 'sigmoid'], 'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'gamma': [None, {'distribution': 'loguniform', 'params': [-5, 1]}], 'degree': [2, 3, 4, 5], 'coef0': [0, 0.5, 1], 'max_iter': [20, 50, 100, 200], 'pairs': 'nearest'}, {'solver': ['ecos', 'osqp'], 'kernel': ['linear', 'cosine'], 'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'max_iter': [20, 50, 100, 200], 'pairs': 'nearest'}]
- class logml.models.registry.survival.SurvivalMinlipSVMModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
Wrapper for sksurv.svm.MinlipSurvivalAnalysis
- TASK = 'survival'
- TAGS = ['svm', <ModelingTask.SURV: 'survival'>]
- F_MODEL
alias of
sksurv.svm.minlip.MinlipSurvivalAnalysis
- FE_MODEL_ATTRIBUTE = None
- DEFAULT_PARAMS = {'alpha': 1.0}
- PARAMS_SPACE = [{'solver': ['ecos', 'osqp'], 'kernel': ['poly', 'rbf', 'sigmoid'], 'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'gamma': [None, {'distribution': 'loguniform', 'params': [-5, 1]}], 'degree': [2, 3, 4, 5], 'coef0': [0, 0.5, 1], 'max_iter': [20, 50, 100, 200]}, {'solver': ['ecos', 'osqp'], 'kernel': ['linear', 'cosine'], 'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'max_iter': [20, 50, 100, 200]}]
- class logml.models.registry.survival.SurvivalNaiveSVMModel(params: Optional[dict] = None, logger=None)
Bases:
logml.models.base.BaseModel
Wrapper for sksurv.svm.NaiveSurvivalSVM
- TASK = 'survival'
- TAGS = ['svm', <ModelingTask.SURV: 'survival'>]
- F_MODEL
alias of
sksurv.svm.naive_survival_svm.NaiveSurvivalSVM
- FE_MODEL_ATTRIBUTE = None
- DEFAULT_PARAMS = {'alpha': 1.0, 'random_state': None}
- PARAMS_SPACE = {'alpha': {'distribution': 'loguniform', 'params': [-12, 10]}, 'dual': [True, False], 'loss': ['squared_hinge', 'hinge'], 'max_iter': [100, 500, 1000, 2000], 'penalty': ['l2', 'l1']}