{"id":15165867,"url":"https://github.com/mlr-org/mlr3proba","last_synced_at":"2025-04-04T21:10:08.420Z","repository":{"id":35180653,"uuid":"198860458","full_name":"mlr-org/mlr3proba","owner":"mlr-org","description":"Probabilistic Learning for mlr3","archived":false,"fork":false,"pushed_at":"2024-10-29T10:01:23.000Z","size":22616,"stargazers_count":128,"open_issues_count":17,"forks_count":20,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-10-29T12:05:20.104Z","etag":null,"topics":["density-estimation","machine-learning","mlr3","probabilistic-regression","probabilistic-supervised-learning","r","r-package","supervised-learning","survival-analysis"],"latest_commit_sha":null,"homepage":"https://mlr3proba.mlr-org.com/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlr-org.png","metadata":{"funding":{"github":"mlr-org"},"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-25T15:49:57.000Z","updated_at":"2024-10-25T23:38:02.000Z","dependencies_parsed_at":"2023-10-16T13:18:29.007Z","dependency_job_id":"f03c0e60-9f68-4f72-98ac-d0e9618d3dbc","html_url":"https://github.com/mlr-org/mlr3proba","commit_stats":{"total_commits":1418,"total_committers":21,"mean_commits":67.52380952380952,"dds":0.6276445698166432,"last_synced_commit":"a3318b71970d49435b4a1c42ff342f478076a804"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2Fmlr3proba","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2Fmlr3proba/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2Fmlr3proba/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2Fmlr3proba/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlr-org","download_url":"https://codeload.github.com/mlr-org/mlr3proba/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249532,"owners_count":20908212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["density-estimation","machine-learning","mlr3","probabilistic-regression","probabilistic-supervised-learning","r","r-package","supervised-learning","survival-analysis"],"created_at":"2024-09-27T04:05:19.589Z","updated_at":"2025-04-04T21:10:08.414Z","avatar_url":"https://github.com/mlr-org.png","language":"R","funding_links":["https://github.com/sponsors/mlr-org"],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  cache = FALSE,\n  collapse = TRUE,\n  comment = \"#\u003e\"\n)\n```\n\n# mlr3proba\n\nProbabilistic Supervised Learning for **[mlr3](https://github.com/mlr-org/mlr3/)** ([website](https://mlr3proba.mlr-org.com/)).\n\n\u003c!-- badges: start --\u003e\n[![R-CMD-check](https://github.com/mlr-org/mlr3proba/actions/workflows/r-cmd-check.yml/badge.svg)](https://github.com/mlr-org/mlr3proba/actions/workflows/r-cmd-check.yml)\n[![runiverse](https://mlr-org.r-universe.dev/badges/mlr3proba)](https://mlr-org.r-universe.dev/mlr3proba)\n[![GitHub Discussions](https://img.shields.io/github/discussions/mlr-org/mlr3proba?logo=github\u0026label=Discussions%20Q%26A\u0026color=FFE600)](https://github.com/mlr-org/mlr3proba/discussions)\n[![Article](https://img.shields.io/badge/Article-10.1093%2Fbioinformatics%2Fbtab039-brightgreen)](https://doi.org/10.1093/bioinformatics/btab039)\n[![StackOverflow](https://img.shields.io/badge/stackoverflow-mlr3-orange.svg?color=pink)](https://stackoverflow.com/questions/tagged/mlr3)\n[![Mattermost](https://img.shields.io/badge/chat-mattermost-orange.svg?color=pink)](https://lmmisld-lmu-stats-slds.srv.mwn.de/mlr_invite/)\n\u003c!-- badges: end --\u003e\n\n## What is mlr3proba?\n\n`mlr3proba` is a machine learning toolkit for making probabilistic predictions within the **[mlr3](https://github.com/mlr-org/mlr3)** ecosystem.\nIt currently supports the following tasks:\n\n1. **Predictive survival analysis**: survival analysis where individual hazards and survival distributions can be queried.\n2. **Unconditional distribution estimation**: main returned output is the distribution.\nSub-cases are density estimation and unconditional survival estimation.\n3. **Probabilistic supervised regression**: Supervised regression with a predictive distribution as the return type.\n\nThe survival analysis part is considered in a mature state, the rest are in early stages of development.\n\n## Feature Overview\n\nKey features of `mlr3proba` focus on survival analysis and are:\n\n- Task frameworks for survival analysis (`TaskSurv`)\n- A comprehensive **selection of survival learners** (mostly via\n  [mlr3extralearners](https://github.com/mlr-org/mlr3extralearners/))\n- A unified `$train()`/`$predict()` model interface to any probabilistic predictive model (frequentist, Bayesian, Deep Learning, or other)\n- Use of the **[distr6](https://github.com/alan-turing-institute/distr6)** interface for the survival probability distribution prediction\n- A comprehensive selection of **measures** for evaluating the performance of survival learners, with respect to prognostic index (continuous rank) prediction, and probabilistic (distribution) prediction\n- Basic **ML pipeline building** integrated with **[mlr3pipelines](https://github.com/mlr-org/mlr3pipelines)** (e.g. transform prediction types)\n- **Reduction strategies** to transform survival to classification/regression problems\n\n## Installation\n\n`mlr3proba` is not currently on CRAN.\nPlease follow one of the two following methods to install it:\n\n### R-universe\n\nInstall the latest released version:\n```r\ninstall.packages(\"mlr3proba\", repos = \"https://mlr-org.r-universe.dev\")\n```\n\n### GitHub\n\nInstall the latest development version:\n```r\nremotes::install_github(\"mlr-org/mlr3proba\")\n```\n\n## Learners\n\n- [Core learners](https://mlr3proba.mlr-org.com/reference/index.html#survival-learners) are implemented in `mlr3proba` and include the Kaplan-Meier Estimator, the Cox Proportional Hazards model and the Survival Tree learner.\n- In [mlr3extralearners](https://github.com/mlr-org/mlr3extralearners) we have interfaced several advanced ML survival learners.\nUse the [interactive search table](https://mlr-org.com/learners.html) to search for the available survival learners and see the [learner status page](https://mlr3extralearners.mlr-org.com/articles/learner_status.html) for their live status.\n\n## Measures\n\nFor density estimation and probabilistic regression only the **log-loss** is currently implemented.\nFor survival analysis, see full list [here](https://mlr3proba.mlr-org.com/reference/index.html#survival-measures).\n\nSome commonly used measures are the following:\n\n| ID | Measure | Package | Category | Prediction Type\n| :--| :------ | :------ | :------ | :------- |\n| [surv.dcalib](https://mlr3proba.mlr-org.com/reference/mlr_measures_surv.dcalib.html) | D-Calibration | `mlr3proba` | Calibration | `distr`\n| [surv.calib_index](https://mlr3proba.mlr-org.com/reference/mlr_measures_surv.calib_index.html) | One-point Calibration | `mlr3proba` | Calibration | `distr`\n| [surv.cindex](https://mlr3proba.mlr-org.com/reference/mlr_measures_surv.cindex.html) | Concordance Index | `mlr3proba` | Discrimination | `crank`\n| [surv.uno_auc](https://mlr3proba.mlr-org.com/reference/mlr_measures_surv.uno_auc.html) | Uno's AUC | `survAUC` | Discrimination | `lp`\n| [surv.graf](https://mlr3proba.mlr-org.com/reference/mlr_measures_surv.graf.html) | Integrated Brier Score | `mlr3proba` | Scoring Rule | `distr`\n| [surv.rcll](https://mlr3proba.mlr-org.com/reference/mlr_measures_surv.rcll.html) | Right-Censored Log loss | `mlr3proba` | Scoring Rule | `distr`\n| [surv.intlogloss](https://mlr3proba.mlr-org.com/reference/mlr_measures_surv.intlogloss.html) | Integrated Log-Likelihood | `mlr3proba` | Scoring Rule | `distr`\n\n## Bugs, Questions, Feedback\n\n**mlr3proba** is a free and open source software project that encourages participation and feedback. \nIf you have any issues, questions, suggestions or feedback, please do not hesitate to open an\n\"issue\" about it on the [GitHub page](https://github.com/mlr-org/mlr3proba/issues)\\!\n\nIn case of problems / bugs, it is often helpful if you provide a \"minimum working example\" using [reprex](https://reprex.tidyverse.org/) that showcases the behavior.\n\n## Similar Projects\n\nPredecessors to this package are previous instances of survival modelling in **[mlr](https://github.com/mlr-org/mlr)**.\nThe **[skpro](https://github.com/alan-turing-institute/skpro)** package in the python/scikit-learn ecosystem follows a similar interface for probabilistic supervised learning and is an architectural predecessor.\nSeveral packages exist which allow probabilistic predictive modelling with a Bayesian model specific general interface, such as **[rjags](https://CRAN.R-project.org/package=rjags)** and **[stan](https://github.com/stan-dev/rstan)**.\nFor implementation of a few survival models and measures, a central package is **[survival](https://github.com/therneau/survival)**.\nThere does not appear to be a package that provides an architectural framework for distribution/density estimation, see **[this list](https://vita.had.co.nz/papers/density-estimation.pdf)** for a review of density estimation packages in `R`.\n\n## Acknowledgements\n\nSeveral people contributed to the building of `mlr3proba`.\nFirstly, thanks to Michel Lang for writing `mlr3survival`.\nSeveral learners and measures implemented in `mlr3proba`, as well as the prediction, task, and measure surv objects, were written initially in `mlr3survival` before being absorbed into `mlr3proba`.\nSecondly thanks to Franz Kiraly for major contributions towards the design of the proba-specific parts of the package, including compositors and predict types.\nAlso for mathematical contributions towards the scoring rules implemented in the package.\nFinally thanks to Bernd Bischl and the rest of the mlr core team for building `mlr3` and for many conversations about the design of `mlr3proba`.\n\n## Citing mlr3proba\n\nIf you use mlr3proba, please cite our [Bioinformatics article](https://doi.org/10.1093/bioinformatics/btab039):\n```{r echo = FALSE, comment = \"\"}\ntoBibtex(citation(\"mlr3proba\"))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlr-org%2Fmlr3proba","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlr-org%2Fmlr3proba","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlr-org%2Fmlr3proba/lists"}