autoprognosis.plugins.prediction.risk_estimation.plugin_survival_xgboost module

class XGBoostRiskEstimationPlugin(n_estimators: int = 100, reg_lambda: float = 0.001, reg_alpha: float = 0.001, colsample_bytree: float = 0.1, colsample_bynode: float = 0.1, colsample_bylevel: float = 0.1, max_depth: int = 6, subsample: float = 0.1, learning_rate: float = 0.01, min_child_weight: int = 0, max_bin: int = 256, booster: int = 0, grow_policy: int = 0, objective: str = 'aft', strategy: str = 'weibull', model: Optional[Any] = None, hyperparam_search_iterations: Optional[int] = None, random_state: int = 0, **kwargs: Any)

Bases: autoprognosis.plugins.prediction.risk_estimation.base.RiskEstimationPlugin

Survival XGBoost plugin for survival analysis.

Parameters
  • n_estimators – int The maximum number of estimators at which boosting is terminated.

  • max_depth – int Maximum depth of a tree.

  • reg_lambda – float L2 regularization term on weights (xgb’s lambda).

  • reg_alpha – float L1 regularization term on weights (xgb’s alpha).

  • colsample_bytree – float Subsample ratio of columns when constructing each tree.

  • colsample_bynode – float Subsample ratio of columns for each split.

  • colsample_bylevel – float Subsample ratio of columns for each level.

  • subsample – float Subsample ratio of the training instance.

  • learning_rate – float Boosting learning rate

  • booster – int index Specify which booster to use: gbtree, gblinear or dart.

  • min_child_weight – int Minimum sum of instance weight(hessian) needed in a child.

  • max_bin – int Number of bins for histogram construction.

  • grow_policy – int index Controls a way new nodes are added to the tree. 0: “depthwise”, 1 : “lossguide”

  • random_state – float Random number seed.

  • objective – str Survival analysis objective. Can be “aft” or “cox”

  • strategy – str Survival analysis model. Can be “weibull”, “debiased_bce”

Example

>>> from autoprognosis.plugins.prediction import Predictions
>>> from pycox.datasets import metabric
>>>
>>> df = metabric.read_df()
>>> X = df.drop(["duration", "event"], axis=1)
>>> Y = df["event"]
>>> T = df["duration"]
>>>
>>> plugin = Predictions(category="risk_estimation").get("survival_xgboost")
>>> plugin.fit(X, T, Y)
>>>
>>> eval_time_horizons = [int(T[Y.iloc[:] == 1].quantile(0.50))]
>>> plugin.predict(X, eval_time_horizons)
booster = ['gbtree', 'gblinear', 'dart']
change_output(output: str) None
explain(X: pandas.core.frame.DataFrame, *args: Any, **kwargs: Any) pandas.core.frame.DataFrame
fit(X: pandas.core.frame.DataFrame, *args: Any, **kwargs: Any) autoprognosis.plugins.prediction.risk_estimation.base.RiskEstimationPlugin

Train the plugin

Parameters

X – pd.DataFrame

fit_predict(X: pandas.core.frame.DataFrame, *args: Any, **kwargs: Any) pandas.core.frame.DataFrame

Fit the model and predict the training data. Used by predictors.

fit_transform(X: pandas.core.frame.DataFrame, *args: Any, **kwargs: Any) pandas.core.frame.DataFrame

Fit the model and transform the training data. Used by imputers and preprocessors.

classmethod fqdn() str

The fully-qualified name of the plugin: type->subtype->name

get_args() dict
grow_policy = ['depthwise', 'lossguide']
static hyperparameter_space(*args: Any, **kwargs: Any) List[autoprognosis.plugins.core.params.Params]

The hyperparameter search domain, used for tuning.

classmethod hyperparameter_space_fqdn(*args: Any, **kwargs: Any) List[autoprognosis.plugins.core.params.Params]

The hyperparameter domain using they fully-qualified name.

is_fitted() bool

Check if the model was trained

classmethod load(buff: bytes) autoprognosis.plugins.prediction.risk_estimation.plugin_survival_xgboost.XGBoostRiskEstimationPlugin

Load the plugin from bytes

static name() str

The name of the plugin, e.g.: xgboost

predict(X: pandas.core.frame.DataFrame, *args: Any, **kwargs: Any) pandas.core.frame.DataFrame

Run predictions for the input. Used by predictors.

Parameters

X – pd.DataFrame

predict_proba(X: pandas.core.frame.DataFrame, *args: Any, **kwargs: Any) pandas.core.frame.DataFrame
classmethod sample_hyperparameters(trial: optuna.trial.Trial, *args: Any, **kwargs: Any) Dict[str, Any]

Sample hyperparameters for Optuna.

classmethod sample_hyperparameters_fqdn(trial: optuna.trial.Trial, *args: Any, **kwargs: Any) Dict[str, Any]

Sample hyperparameters using they fully-qualified name.

classmethod sample_hyperparameters_np(random_state: int = 0, *args: Any, **kwargs: Any) Dict[str, Any]

Sample hyperparameters as a dict.

save() bytes

Save the plugin to bytes

score(X: pandas.core.frame.DataFrame, y: pandas.core.frame.DataFrame, metric: str = 'aucroc') float
static subtype() str

The type of the plugin, e.g.: classifier

transform(X: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame

Transform the input. Used by imputers and preprocessors.

Parameters

X – pd.DataFrame

static type() str

The type of the plugin, e.g.: prediction

plugin

alias of autoprognosis.plugins.prediction.risk_estimation.plugin_survival_xgboost.XGBoostRiskEstimationPlugin