Skip to content

Releases: sebp/scikit-survival

v0.23.0

30 Jun 09:24
Compare
Choose a tag to compare

This release adds support for scikit-learn 1.4 and 1.5, which includes missing value support for sksurv.ensemble.RandomSurvivalForest.

Moreover, this release fixes critical bugs. When fitting sksurv.tree.SurvivalTree, the sample_weight is now correctly considered when computing the log-rank statistic for each split. This change also affects sksurv.ensemble.RandomSurvivalForest and sksurv.ensemble.ExtraSurvivalTrees which pass sample_weight to the individual trees in the ensemble.

This release fixes a bug in sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis and sksurv.ensemble.GradientBoostingSurvivalAnalysis when dropout is used. Previously, dropout was only applied starting with the third iteration, now dropout is applied in the second iteration too.

Finally, this release adds compatibility with numpy 2.0 and drops support for Python 3.8.

Bug fixes

Enhancements

Documentation

Backwards incompatible changes

  • Drop support for Python 3.8 (#427).

New Contributors

Full Changelog: v0.22.2...v0.23.0

v0.22.2

30 Dec 23:01
Compare
Choose a tag to compare

This release adds support for Python 3.12.

Bug fixes

  • Fix invalid escape sequence in Introduction of user guide.

Enhancements

  • Mark Cython functions as noexcept (#418).
  • Add support for Python 3.12 (#422).
  • Do not use deprecated is_categorical_dtype() of Pandas API.

Documentation

Full Changelog: v0.22.1...v0.22.2

v0.22.1

08 Oct 12:32
Compare
Choose a tag to compare

Bug fixes

v0.22.0

01 Oct 14:05
Compare
Choose a tag to compare

This release adds support for scikit-learn 1.3, which includes missing value support for sksurv.tree.SurvivalTree. Support for previous versions of scikit-learn has been dropped.

Moreover, a low_memory option has been added to sksurv.ensemble.RandomSurvivalForest, sksurv.ensemble.ExtraSurvivalTrees, and sksurv.tree.SurvivalTree which reduces the memory footprint of calling predict, but disables the use of predict_cumulative_hazard_function and predict_survival_function.

Bug fixes

  • Fix issue where an estimator could be fit to data containing negative event times (#410).

Enhancements

Documentation

Backwards incompatible changes

Full Changelog: v0.21.0...v0.22.0

v0.21.0

11 Jun 14:55
Compare
Choose a tag to compare

This is a major release bringing new features and performance improvements.

Bug fixes

  • Fix bug where times passed to sksurv.metrics.brier_score() was downcast, resulting in a loss of precision that may lead to duplicate time points (#349).
  • Fix inconsistent behavior of evaluating functions returned by predict_cumulative_hazard_function or predict_survival_function (#375).

Enhancements

Documentation

Backwards incompatible changes

  • The attribute event_times_ of estimators has been replaced by unique_times_ to clarify that these are all the unique times points, not just the once where an event occurred (#371).
  • Functions returned by predict_cumulative_hazard_function and predict_survival_function of sksurv.tree.SurvivalTree, sksurv.ensemble.RandomSurvivalForest, and sksurv.ensemble.ExtraSurvivalTrees are over all unique time points passed as training data, instead of all unique time points where events occurred (#371).
  • Evaluating a function returned by predict_cumulative_hazard_function or predict_survival_function will no longer raise an exception if the specified time point is smaller than the smallest time point observed during training. Instead, the value at StepFunction.x[0] will be returned (#375).

New Contributors

Full Changelog: v0.20.0...v0.21.0

v0.20.0

05 Mar 12:07
Compare
Choose a tag to compare

This release adds support for scikit-learn 1.2 and drops support for previous versions.

Enhancements

Documentation

  • Update API docs based on scikit-learn 1.2 (where applicable).

Backwards incompatible changes

Full Changelog: v0.19.0.post1...v0.20.0

v0.19.0.post1

24 Oct 17:57
Compare
Choose a tag to compare

This release raises the install requirement of scikit-learn to 1.1.2 to avoid binary incompatibility with previous releases (#316).

Full Changelog: v0.19.0...v0.19.0.post1

v0.19.0

23 Oct 18:06
Compare
Choose a tag to compare

This release adds sksurv.tree.SurvivalTree.apply() and sksurv.tree.SurvivalTree.decision_path(), and support for sparse matrices to sksurv.tree.SurvivalTree. Moreover, it fixes build issues with scikit-learn 1.1.2 and on macOS with ARM64 CPU.

Bug fixes

  • Fix build issue with scikit-learn 1.1.2, which is binary-incompatible with previous releases from the 1.1 series.
  • Fix build from source on macOS with ARM64 by specifying numpy 1.21.0 as install requirement for that platform (#313).

Enhancements

Full Changelog: v0.18.0...v0.19.0

v0.18.0

15 Aug 14:14
Compare
Choose a tag to compare

This release adds support for scikit-learn 1.1, which includes more informative error messages.
Support for Python 3.7 has been dropped, and the minimum supported versions of dependencies are updated to

  • numpy 1.17.3
  • Pandas 1.0.5
  • scikit-learn 1.1.0
  • scipy 1.3.2

Enhancements

  • Add n_iter_ attribute to all estimators in sksurv.svm (#277).
  • Add return_array argument to all models providing
    predict_survival_function and predict_cumulative_hazard_function (#268).

Deprecations

Full Changelog: v0.17.2...v0.18.0

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