scikit-survival

Survival analysis built on top of scikit-learn

https://github.com/sebp/scikit-survival

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    3 of 23 committers (13.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary

Keywords

machine-learning python scikit-learn survival-analysis

Keywords from Contributors

interactive network-simulation hacking timeseries-analysis robust-estimation generalized-linear-models econometrics count-model optim projection
Last synced: 6 months ago · JSON representation

Repository

Survival analysis built on top of scikit-learn

Basic Info
  • Host: GitHub
  • Owner: sebp
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 7.04 MB
Statistics
  • Stars: 1,220
  • Watchers: 22
  • Forks: 222
  • Open Issues: 27
  • Releases: 32
Topics
machine-learning python scikit-learn survival-analysis
Created about 9 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Zenodo

README.rst

|License| |Docs| |DOI|

|build-tests| |build-windows| |Codecov| |Codacy|

***************
scikit-survival
***************

scikit-survival is a Python module for `survival analysis`_
built on top of `scikit-learn `_. It allows doing survival analysis
while utilizing the power of scikit-learn, e.g., for pre-processing or doing cross-validation.

=======================
About Survival Analysis
=======================

The objective in `survival analysis`_ (also referred to as time-to-event or reliability analysis)
is to establish a connection between covariates and the time of an event.
What makes survival analysis differ from traditional machine learning is the fact that
parts of the training data can only be partially observed – they are *censored*.

For instance, in a clinical study, patients are often monitored for a particular time period,
and events occurring in this particular period are recorded.
If a patient experiences an event, the exact time of the event can
be recorded – the patient’s record is uncensored. In contrast, right censored records
refer to patients that remained event-free during the study period and
it is unknown whether an event has or has not occurred after the study ended.
Consequently, survival analysis demands for models that take
this unique characteristic of such a dataset into account.

============
Requirements
============

- Python 3.10 or later
- ecos
- joblib
- numexpr
- numpy
- osqp
- pandas 1.4.0 or later
- scikit-learn 1.6 or 1.7
- scipy
- C/C++ compiler

============
Installation
============

The easiest way to install scikit-survival is to use
`conda-forge `_ by running::

  conda install -c conda-forge scikit-survival

Alternatively, you can install scikit-survival `from PyPI `_
or `from source `_.

========
Examples
========

The `user guide `_ provides
in-depth information on the key concepts of scikit-survival, an overview of available survival models,
and hands-on examples in the form of `Jupyter notebooks `_.

================
Help and Support
================

**Documentation**

- HTML documentation for the latest release: https://scikit-survival.readthedocs.io/en/stable/
- HTML documentation for the development version (master branch): https://scikit-survival.readthedocs.io/en/latest/
- For a list of notable changes, see the `release notes `_.

**Bug reports**

- If you encountered a problem, please submit a
  `bug report `_.

**Questions**

- If you have a question on how to use scikit-survival, please use `GitHub Discussions `_.
- For general theoretical or methodological questions on survival analysis, please use
  `Cross Validated `_.

============
Contributing
============

New contributors are always welcome. Please have a look at the
`contributing guidelines `_
on how to get started and to make sure your code complies with our guidelines.

==========
References
==========

Please cite the following paper if you are using **scikit-survival**.

  S. Pölsterl, "scikit-survival: A Library for Time-to-Event Analysis Built on Top of scikit-learn,"
  Journal of Machine Learning Research, vol. 21, no. 212, pp. 1–6, 2020.

.. code::

  @article{sksurv,
    author  = {Sebastian P{\"o}lsterl},
    title   = {scikit-survival: A Library for Time-to-Event Analysis Built on Top of scikit-learn},
    journal = {Journal of Machine Learning Research},
    year    = {2020},
    volume  = {21},
    number  = {212},
    pages   = {1-6},
    url     = {http://jmlr.org/papers/v21/20-729.html}
  }

.. |License| image:: https://img.shields.io/badge/license-GPLv3-blue.svg
  :target: COPYING
  :alt: License

.. |Codecov| image:: https://codecov.io/gh/sebp/scikit-survival/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/sebp/scikit-survival
  :alt: codecov

.. |Codacy| image:: https://api.codacy.com/project/badge/Grade/17242004cdf6422c9a1052bf1ec63104
   :target: https://app.codacy.com/gh/sebp/scikit-survival/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade
   :alt: Codacy Badge

.. |Docs| image:: https://readthedocs.org/projects/scikit-survival/badge/?version=latest
  :target: https://scikit-survival.readthedocs.io/en/latest/
  :alt: readthedocs.org

.. |DOI| image:: https://zenodo.org/badge/77409504.svg
   :target: https://zenodo.org/badge/latestdoi/77409504
   :alt: Digital Object Identifier (DOI)

.. |build-tests| image:: https://github.com/sebp/scikit-survival/actions/workflows/tests-workflow.yaml/badge.svg?branch=master
  :target: https://github.com/sebp/scikit-survival/actions?query=workflow%3Atests+branch%3Amaster
  :alt: GitHub Actions Tests Status

.. |build-windows| image:: https://ci.appveyor.com/api/projects/status/github/sebp/scikit-survival?branch=master&svg=true
   :target: https://ci.appveyor.com/project/sebp/scikit-survival
   :alt: Windows Build Status on AppVeyor

.. _survival analysis: https://en.wikipedia.org/wiki/Survival_analysis

Owner

  • Name: Sebastian Pölsterl
  • Login: sebp
  • Kind: user
  • Location: Germany
  • Company: @AstraZeneca

GitHub Events

Total
  • Create event: 41
  • Release event: 5
  • Issues event: 28
  • Watch event: 83
  • Delete event: 34
  • Issue comment event: 70
  • Push event: 106
  • Pull request review comment event: 24
  • Pull request review event: 29
  • Pull request event: 55
  • Fork event: 15
Last Year
  • Create event: 41
  • Release event: 5
  • Issues event: 28
  • Watch event: 83
  • Delete event: 34
  • Issue comment event: 70
  • Push event: 106
  • Pull request review comment event: 24
  • Pull request review event: 29
  • Pull request event: 55
  • Fork event: 15

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,142
  • Total Committers: 23
  • Avg Commits per committer: 49.652
  • Development Distribution Score (DDS): 0.102
Past Year
  • Commits: 124
  • Committers: 4
  • Avg Commits per committer: 31.0
  • Development Distribution Score (DDS): 0.234
Top Committers
Name Email Commits
Sebastian Pölsterl s****p@k****g 1,026
dependabot[bot] 4****] 45
Christine Poerschke c****e@b****t 35
valverde m****e@g****m 13
Zeno Sewald z****a@o****e 3
Vincent M m****t@y****r 2
laqua-stack 5****k 2
Vincent Maladiere v****e@V****l 1
mbadger m****r@h****k 1
svc dataiku-dss s****s@r****m 1
CaderIdris 6****r 1
Finesim97 l****7@y****e 1
Franz Király f****y@u****k 1
Georgios Kaissis 4****s 1
Leandro Hermida h****l@c****u 1
Lluis Pamies-Juarez p****s@g****m 1
Paul Paczuski p****x 1
Peter Steinbach p****h@h****e 1
TristanFauvel t****l@h****r 1
Yonghao Zhao 1****1 1
dor132 d****5@g****m 1
raynardj b****c@g****m 1
xuyxu x****x@l****n 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 107
  • Total pull requests: 184
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 92
  • Total pull request authors: 23
  • Average comments per issue: 2.93
  • Average comments per pull request: 1.4
  • Merged pull requests: 130
  • Bot issues: 0
  • Bot pull requests: 76
Past Year
  • Issues: 21
  • Pull requests: 66
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 4 days
  • Issue authors: 20
  • Pull request authors: 8
  • Average comments per issue: 1.29
  • Average comments per pull request: 0.97
  • Merged pull requests: 45
  • Bot issues: 0
  • Bot pull requests: 32
Top Authors
Issue Authors
  • ogencoglu (3)
  • Genarito (2)
  • RandallJEllis (2)
  • juliusge (2)
  • AnonTendim (2)
  • juancq (2)
  • ramm777 (2)
  • fkiraly (2)
  • sebp (2)
  • dpellow (2)
  • aliciaolivaresgil (2)
  • raminsalmas (2)
  • melodiemonod (2)
  • nkaur201 (2)
  • Husain-Kapadia (1)
Pull Request Authors
  • dependabot[bot] (76)
  • sebp (64)
  • cpoerschke (8)
  • mvlvrd (4)
  • Vincent-Maladiere (3)
  • Sann5 (2)
  • llpamies (2)
  • sentisso (2)
  • Tomatenbiss (2)
  • alexandrehuat (2)
  • zyh040521 (2)
  • fkiraly (2)
  • CaderIdris (2)
  • dryezl (2)
  • TristanFauvel (2)
Top Labels
Issue Labels
enhancement (14) awaiting response (11) dependencies (5) documentation (5) bug (4) help wanted (4) question (2) performance (2) needs triage (1)
Pull Request Labels
dependencies (76) github_actions (56) python (6) awaiting response (2) performance (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 165,749 last-month
  • Total dependent packages: 18
    (may contain duplicates)
  • Total dependent repositories: 63
    (may contain duplicates)
  • Total versions: 62
  • Total maintainers: 1
pypi.org: scikit-survival

Survival analysis built on top of scikit-learn

  • Versions: 33
  • Dependent Packages: 18
  • Dependent Repositories: 57
  • Downloads: 165,749 Last month
  • Docker Downloads: 0
Rankings
Dependent packages count: 0.8%
Downloads: 1.6%
Dependent repos count: 2.0%
Stargazers count: 2.0%
Average: 2.3%
Docker downloads count: 3.5%
Forks count: 3.7%
Maintainers (1)
Last synced: 6 months ago
proxy.golang.org: github.com/sebp/scikit-survival
  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.6%
Average: 5.8%
Dependent repos count: 6.0%
Last synced: 6 months ago
conda-forge.org: scikit-survival
  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 6
Rankings
Forks count: 13.1%
Stargazers count: 13.4%
Dependent repos count: 14.0%
Average: 23.0%
Dependent packages count: 51.6%
Last synced: 6 months ago

Dependencies

.github/workflows/tox-workflow.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • fedora-python/tox-github-action v36.0 composite
.github/workflows/wheels-workflow.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • pypa/cibuildwheel v2.11.4 composite
.binder/environment.yml conda
  • matplotlib 3.5.1.*
  • numpy <1.23.0
  • pip
  • python 3.10.*
  • scikit-survival
  • seaborn 0.11.2
doc/docs_requirements.txt pypi
  • docutils *
  • ipython *
  • nbsphinx *
  • pydata-sphinx-theme *
  • setuptools_scm *
  • sphinx *
requirements/dev.txt pypi
  • cython >=0.29 development
  • packaging * development
  • pytest * development
  • pytest-cov * development
  • setuptools_scm * development
requirements/prod.txt pypi
  • ecos *
  • joblib *
  • numexpr *
  • numpy *
  • osqp *
  • pandas >=1.0.5
  • scikit-learn >=1.1.2,<1.2
  • scipy >=1.3.2
.github/workflows/tests-workflow.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • codacy/codacy-coverage-reporter-action master composite
  • codecov/codecov-action v3 composite