Skip to content

Releases: sebp/scikit-survival

v0.17.2

24 Apr 17:31
Compare
Choose a tag to compare

This release fixes several issues with packaging scikit-survival.

Bug fixes

  • Added backward support for gcc-c++ by @navashiva (#255).
  • Do not install C/C++ and Cython source files.
  • Add packaging to build requirements in pyproject.toml.
  • Exclude generated API docs from source distribution.
  • Add Python 3.10 to classifiers.

Documentation

  • Use permutation_importance from sklearn instead of eli5.
  • Build documentation with Sphinx 4.4.0.
  • Fix missing documentation for classes in sksurv.meta.

New Contributors

Full Changelog: v0.17.1...v0.17.2

v0.17.1

05 Mar 14:45
Compare
Choose a tag to compare

This release adds support for Python 3.10.

Full Changelog: v0.17.0...v0.17.1

v0.17.0

09 Jan 11:58
Compare
Choose a tag to compare

This release adds support for scikit-learn 1.0, which includes support for feature names. If you pass a pandas dataframe to fit, the estimator will set a feature_names_in_ attribute containing the feature names. When a dataframe is passed to predict, it is checked that the column names are consistent with those passed to fit. See the scikit-learn release highlights for details.

Bug fixes

  • Fix a variety of build problems with LLVM (#243).

Enhancements

  • Add support for feature_names_in_ and n_features_in_ to all estimators and transforms.
  • Add sksurv.preprocessing.OneHotEncoder.get_feature_names_out.
  • Update bundeled version of Eigen to 3.3.9.

Backwards incompatible changes

  • Drop min_impurity_split parameter from sksurv.ensemble.GradientBoostingSurvivalAnalysis.
  • base_estimators and meta_estimator attributes of sksurv.meta.Stacking do not contain fitted models anymore, use estimators_ and final_estimator_, respectively.

Deprecations

  • The normalize parameter of sksurv.linear_model.IPCRidge is deprecated and will be removed in a future version. Instead, use a sciki-learn pipeline: make_pipeline(StandardScaler(with_mean=False), IPCRidge()).

v0.16.0

30 Oct 10:39
Compare
Choose a tag to compare

This release adds support for changing the evaluation metric that is used in estimators’ score method. This is particular useful for hyper-parameter optimization using scikit-learn’s GridSearchCV. You can now use sksurv.metrics.as_concordance_index_ipcw_scorer, sksurv.metrics.as_cumulative_dynamic_auc_scorer, or sksurv.metrics.as_integrated_brier_score_scorer to adjust the score method to your needs. A detailed example is available in the User Guide.

Moreover, this release adds sksurv.ensemble.ExtraSurvivalTrees to fit an ensemble of randomized survival trees, and improves the speed of sksurv.compare.compare_survival() significantly. The documentation has been extended by a section on the time-dependent Brier score.

Bug fixes

Enhancements

Documentation

v0.15.0

20 Mar 11:51
Compare
Choose a tag to compare

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

Enhancements

Backwards incompatible changes

v0.14.0

07 Oct 17:24
Compare
Choose a tag to compare

This release features a complete overhaul of the documentation. It features a new visual design, and the inclusion of several interactive notebooks in the User Guide.

In addition, it includes important bug fixes. It fixes several bugs in sksurv.linear_model.CoxnetSurvivalAnalysis where predict, predict_survival_function, and predict_cumulative_hazard_function returned wrong values if features of the training data were not centered. Moreover, the score function of sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis and sksurv.ensemble.GradientBoostingSurvivalAnalysis will now correctly compute the concordance index if loss='ipcwls' or loss='squared'.

Bug fixes

Enhancements

  • Add sksurv.show_versions() that prints the version of all dependencies.
  • Add support for pandas 1.1
  • Include interactive notebooks in documentation on readthedocs.
  • Add user guide on penalized Cox models.
  • Add user guide on gradient boosted models.

v0.13.1

04 Jul 10:07
Compare
Choose a tag to compare

This release fixes warnings that were introduced with 0.13.0.

Bug fixes

v0.13.0

28 Jun 16:03
Compare
Choose a tag to compare

The highlights of this release include the addition of sksurv.metrics.brier_score and sksurv.metrics.integrated_brier_score and compatibility with scikit-learn 0.23.

predict_survival_function and predict_cumulative_hazard_function of sksurv.ensemble.RandomSurvivalForest and sksurv.tree.SurvivalTree can now return an array of sksurv.functions.StepFunction, similar to sksurv.linear_model.CoxPHSurvivalAnalysis by specifying return_array=False. This will be the default behavior starting with 0.14.0.

Note that this release fixes a bug in estimating inverse probability of censoring weights (IPCW), which will affect all estimators relying on IPCW.

Enhancements

Deprecations

Bug fixes

v0.12.0

15 Apr 09:52
Compare
Choose a tag to compare

This release adds support for scikit-learn 0.22, thereby dropping support for older versions. Moreover, the regularization strength of the ridge penalty in sksurv.linear_model.CoxPHSurvivalAnalysis can now be set per feature. If you want one or more features to enter the model unpenalized, set the corresponding penalty weights to zero. Finally, sklearn.pipeline.Pipeline will now be automatically patched to add support for predict_cumulative_hazard_function and predict_survival_function if the underlying estimator supports it.

Deprecations

Enhancements

v0.11

21 Dec 15:14
Compare
Choose a tag to compare

This release adds sksurv.tree.SurvivalTree and sksurv.ensemble.RandomSurvivalForest,
which are based on the log-rank split criterion. It also adds the OSQP solver as option to sksurv.svm.MinlipSurvivalAnalysis and sksurv.svm.HingeLossSurvivalSVM, which will replace the now deprecated cvxpy and cvxopt options in a future release.

This release removes support for sklearn 0.20 and requires sklearn 0.21.

Deprecations

Enhancements

Bug fixes

  • Exclude Cython-generated files from source distribution because
    they are not forward compatible.