v0.15.0
This release adds support for scikit-learn 0.24 and Python 3.9. scikit-survival now requires at least pandas 0.25 and scikit-learn 0.24. Moreover, if sksurv.ensemble.GradientBoostingSurvivalAnalysis or sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis are fit with loss='coxph'
, predict_cumulative_hazard_function and predict_survival_function are now available. sksurv.metrics.cumulative_dynamic_auc now supports evaluating time-dependent predictions, for instance for a sksurv.ensemble.RandomSurvivalForest as illustrated in the User Guide.
Bug fixes
- Allow passing pandas data frames to all
fit
andpredict
methods (#148). - Allow sparse matrices to be passed to sksurv.ensemble.GradientBoostingSurvivalAnalysis.predict.
- Fix example in user guide using GridSearchCV to determine alphas for CoxnetSurvivalAnalysis (#186).
Enhancements
- Add score method to sksurv.meta.Stacking, sksurv.meta.EnsembleSelection, and sksurv.meta.EnsembleSelectionRegressor (#151).
- Add support for predict_cumulative_hazard_function and predict_survival_function to sksurv.ensemble.GradientBoostingSurvivalAnalysis. and sksurv.ensemble.GradientBoostingSurvivalAnalysis if model was fit with
loss='coxph'
. - Add support for time-dependent predictions to sksurv.metrics.cumulative_dynamic_auc See the User Guide for an example (#134).
Backwards incompatible changes
-
The score method of sksurv.linear_model.IPCRidge, sksurv.svm.FastSurvivalSVM, and sksurv.svm.FastKernelSurvivalSVM (if
rank_ratio
is smaller than 1) now converts predictions on log(time) scale to risk scores prior to computing the concordance index. -
Support for cvxpy and cvxopt solver in sksurv.svm.MinlipSurvivalAnalysis and sksurv.svm.HingeLossSurvivalSVM has been dropped. The default solver is now ECOS, which was used by cvxpy (the previous default) internally. Therefore, results should be identical.
-
Dropped the
presort
argument from sksurv.tree.SurvivalTree and sksurv.ensemble.GradientBoostingSurvivalAnalysis. -
The
X_idx_sorted
argument in sksurv.tree.SurvivalTree.fit has been deprecated in scikit-learn 0.24 and has no effect now. -
predict_cumulative_hazard_function and predict_survival_function of sksurv.ensemble.RandomSurvivalForest and sksurv.tree.SurvivalTree now return an array of sksurv.functions.StepFunction objects by default. Use
return_array=True
to get the old behavior. -
Support for Python 3.6 has been dropped.
-
Increase minimum supported versions of dependencies. We now require:
Package Minimum Version Pandas 0.25.0 scikit-learn 0.24.0