This release adds support for scikit-learn 1.6, which includes missing-values support for sksurv.ensemble.ExtraSurvivalTrees. Moreover, the release features sksurv.nonparametric.cumulative_incidence_competing_risks() which implements a non-parameteric estimator of the cumulative incidence function for competing risks. See the user guide on the analysis of competing risks.
Bug fixes
- In the C++ code of sksurv.linear_model.CoxnetSurvivalAnalysis, set type of n_alphas to VectorType::Index instead of ìnt, because on Windows, int and Eigen’s Index differ in size.
- Fix printing of Python version in sksurv.show_versions().
- Give an error if max_sample is set, but bootstrap is False in sksurv.ensemble.RandomSurvivalForest and sksurv.ensemble.ExtraSurvivalTrees.
Enhancements
- Add sksurv.nonparametric.cumulative_incidence_competing_risks() to estimate the cumulative incidence function in the case of competing risks (#491, #500).
- Add sksurv.datasets.load_bmt() and sksurv.datasets.load_cgvhd() which are datasets with competing risks (#491, #500).
- Add missing-values support to sksurv.ensemble.ExtraSurvivalTrees (#504).
- Add estimators_samples_ property to sksurv.ensemble.RandomSurvivalForest and sksurv.ensemble.ExtraSurvivalTrees.
- Upgrade syntax to Python 3.10.
- Run nbval with Python 3.12, matplotlib 3.9, and seaborn 0.13.
Documentation
- Fix links in documentation.
- Add user guide on the analysis of competing risks.
Backwards incompatible changes
- Support for scikit-learn versions before 1.6.1 has been dropped (#504).
- Support for Python versions before 3.10 has been dropped.
New Contributors
Full Changelog: v0.23.1...v0.24.0