# sksurv.svm.MinlipSurvivalAnalysis¶

class sksurv.svm.MinlipSurvivalAnalysis(solver='cvxpy', alpha=1.0, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None, pairs='nearest', verbose=False, timeit=None, max_iter=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. sksurv.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. max_iter : int, optional Maximum number of iterations to perform. By default use solver’s default value.

References

 [1] 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_ : ndarray Training data. coef_ : ndarray, shape = (n_samples,) 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, max_iter=None)

Methods

 __init__([solver, alpha, kernel, gamma, …]) fit(X, y) Build a MINLIP survival model from training data. predict(X) Predict risk score of experiencing an event. score(X, y)
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. self
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, shape = (n_samples, n_features) The input samples. y : ndarray, shape = (n_samples,) Predicted risk.