survival.svm.MinlipSurvivalAnalysis¶
-
class
survival.svm.
MinlipSurvivalAnalysis
(solver='cvxpy', alpha=1.0, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None, pairs='nearest', verbose=False, timeit=None)¶ Survival model related to survival SVM, using a minimal Lipschitz smoothness strategy instead of a maximal margin strategy.
\[ \begin{align}\begin{aligned}\begin{split}\min_{\mathbf{w}}\quad \frac{1}{2} \lVert \mathbf{w} \rVert_2^2 + \gamma \sum_{i = 1}^n \xi_i \\ \text{subject to}\quad \mathbf{w}^\top \mathbf{x}_i - \mathbf{w}^\top \mathbf{x}_j \geq y_i - y_j - \xi_i,\quad \forall (i, j) \in \mathcal{P}_\text{1-NN}, \\ \xi_i \geq 0,\quad \forall i = 1,\dots,n.\end{split}\\\mathcal{P}_\text{1-NN} = \{ (i, j) \mid y_i > y_j \land \delta_j = 1 \land \nexists k : y_i > y_k > y_j \land \delta_k = 1 \}_{i,j=1}^n.\end{aligned}\end{align} \]Parameters: solver : “cvxpy” | “cvxopt”, optional (default: cvxpy)
Which quadratic program solver to use.
alpha : float, positive (default: 1)
Weight of penalizing the hinge loss in the objective function.
kernel : “linear” | “poly” | “rbf” | “sigmoid” | “cosine” | “precomputed”
Kernel. Default: “linear”
gamma : float, optional
Kernel coefficient for rbf and poly kernels. Default:
1/n_features
. Ignored by other kernels.degree : int (default=3)
Degree for poly kernels. Ignored by other kernels.
coef0 : float, optional
Independent term in poly and sigmoid kernels. Ignored by other kernels.
kernel_params : mapping of string to any, optional
Parameters (keyword arguments) and values for kernel passed as call
pairs : “all” | “nearest” | “next”, optional (default: “nearest”)
Which constraints to use in the optimization problem.
- all: Use all comparable pairs. Scales quadratic in number of samples
(cf.
survival.svm.HingeLossSurvivalSVM
). - nearest: Only considers comparable pairs \((i, j)\) where \(j\) is the uncensored sample with highest survival time smaller than \(y_i\). Scales linear in number of samples.
- next: Only compare against direct nearest neighbor according to observed time, disregarding its censoring status. Scales linear in number of samples.
verbose : bool (default: False)
Enable verbose output of solver
timeit : False or int
If non-zero value is provided the time it takes for optimization is measured. The given number of repetitions are performed. Results can be accessed from the
timings_
attribute.References
[R20] Van Belle, V., Pelckmans, K., Suykens, J. A. K., and Van Huffel, S. Learning transformation models for ranking and survival analysis. The Journal of Machine Learning Research, 12, 819-862. 2011 Attributes
X_fit_ : Training data. coef_ : Coefficients of the features in the decision function. -
__init__
(solver='cvxpy', alpha=1.0, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None, pairs='nearest', verbose=False, timeit=None)¶
Methods
__init__
([solver, alpha, kernel, gamma, ...])fit
(X, y)Build a MINLIP survival model from training data. get_params
([deep])Get parameters for this estimator. predict
(X)Predict risk score of experiencing an event. score
(X, y)set_params
(**params)Set the parameters of this estimator. -
fit
(X, y)¶ Build a MINLIP survival model from training data.
Parameters: X : array-like, shape = [n_samples, n_features]
Data matrix.
y : structured array, shape = [n_samples]
A structured array containing the binary event indicator as first field, and time of event or time of censoring as second field.
Returns: self
-
get_params
(deep=True)¶ Get parameters for this estimator.
Parameters: deep: boolean, optional
If True, will return the parameters for this estimator and contained subobjects that are estimators.
Returns: params : mapping of string to any
Parameter names mapped to their values.
-
predict
(X)¶ Predict risk score of experiencing an event.
Higher scores indicate shorter survival (high risk), lower scores longer survival (low risk).
Parameters: X : array-like of shape = [n_samples, n_features]
The input samples.
Returns: y : array of shape = [n_samples]
Predicted risk.
-
set_params
(**params)¶ Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form
<component>__<parameter>
so that it’s possible to update each component of a nested object.Returns: self
- all: Use all comparable pairs. Scales quadratic in number of samples
(cf.