quantile-forest

quantile-forest: A Python Package for Quantile Regression Forests - Published in JOSS (2024)

https://github.com/zillow/quantile-forest

Science Score: 93.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
    Found 8 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

machine-learning prediction-intervals python quantile-regression quantile-regression-forests random-forest scikit-learn-api uncertainty-estimation

Keywords from Contributors

mesh

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

Quantile Regression Forests compatible with scikit-learn.

Basic Info
Statistics
  • Stars: 241
  • Watchers: 10
  • Forks: 30
  • Open Issues: 2
  • Releases: 26
Topics
machine-learning prediction-intervals python quantile-regression quantile-regression-forests random-forest scikit-learn-api uncertainty-estimation
Created almost 4 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Authors

README.md

quantile-forest

PyPI - Version License GitHub Actions Codecov Code Style black DOI

quantile-forest offers a Python implementation of quantile regression forests compatible with scikit-learn.

Quantile regression forests (QRF) are a non-parametric, tree-based ensemble method for estimating conditional quantiles, with application to high-dimensional data and uncertainty estimation [1]. The estimators in this package are performant, Cython-optimized QRF implementations that extend the forest estimators available in scikit-learn to estimate conditional quantiles. The estimators can estimate arbitrary quantiles at prediction time without retraining and provide methods for out-of-bag estimation, calculating quantile ranks, and computing proximity counts. They are compatible with and can serve as drop-in replacements for the scikit-learn forest regressors.

Example of fitted model predictions and prediction intervals on California housing data (code)

Quick Start

To install quantile-forest from PyPI using pip:

bash pip install quantile-forest

To install quantile-forest from conda-forge using conda:

bash conda install quantile-forest -c conda-forge

Usage

python from quantile_forest import RandomForestQuantileRegressor from sklearn import datasets X, y = datasets.fetch_california_housing(return_X_y=True) qrf = RandomForestQuantileRegressor() qrf.fit(X, y) y_pred = qrf.predict(X, quantiles=[0.025, 0.5, 0.975])

Documentation

An installation guide, API documentation, and examples can be found in the documentation.

References

[1] N. Meinshausen, "Quantile Regression Forests", Journal of Machine Learning Research, 7(Jun), 983-999, 2006. http://www.jmlr.org/papers/volume7/meinshausen06a/meinshausen06a.pdf

Citation

If you use this package in academic work, please consider citing https://joss.theoj.org/papers/10.21105/joss.05976:

bib @article{Johnson2024, doi = {10.21105/joss.05976}, url = {https://doi.org/10.21105/joss.05976}, year = {2024}, publisher = {The Open Journal}, volume = {9}, number = {93}, pages = {5976}, author = {Reid A. Johnson}, title = {quantile-forest: A Python Package for Quantile Regression Forests}, journal = {Journal of Open Source Software} }

Owner

  • Name: Zillow
  • Login: zillow
  • Kind: organization
  • Location: United States

JOSS Publication

quantile-forest: A Python Package for Quantile Regression Forests
Published
January 19, 2024
Volume 9, Issue 93, Page 5976
Authors
Reid A. Johnson ORCID
Zillow Group, USA
Editor
Mehmet Hakan Satman ORCID
Tags
Machine Learning Quantile Regression

GitHub Events

Total
  • Create event: 21
  • Release event: 1
  • Issues event: 2
  • Watch event: 30
  • Delete event: 20
  • Issue comment event: 9
  • Push event: 49
  • Pull request event: 37
  • Fork event: 5
Last Year
  • Create event: 21
  • Release event: 1
  • Issues event: 2
  • Watch event: 30
  • Delete event: 20
  • Issue comment event: 9
  • Push event: 49
  • Pull request event: 37
  • Fork event: 5

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 375
  • Total Committers: 3
  • Avg Commits per committer: 125.0
  • Development Distribution Score (DDS): 0.088
Past Year
  • Commits: 120
  • Committers: 3
  • Avg Commits per committer: 40.0
  • Development Distribution Score (DDS): 0.142
Top Committers
Name Email Commits
Reid Johnson r****j@z****m 342
dependabot[bot] 4****] 32
CarpeFridiem b****1@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 22
  • Total pull requests: 158
  • Average time to close issues: 9 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 19
  • Total pull request authors: 3
  • Average comments per issue: 2.86
  • Average comments per pull request: 0.59
  • Merged pull requests: 138
  • Bot issues: 1
  • Bot pull requests: 69
Past Year
  • Issues: 3
  • Pull requests: 60
  • Average time to close issues: 1 day
  • Average time to close pull requests: 7 days
  • Issue authors: 3
  • Pull request authors: 3
  • Average comments per issue: 2.67
  • Average comments per pull request: 0.38
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 40
Top Authors
Issue Authors
  • felix7602 (3)
  • brentonmallen1 (2)
  • w1ll1a9m (1)
  • jncraton (1)
  • yzhang3000 (1)
  • TamaraAtanasoska (1)
  • HuashiSCNU0303 (1)
  • dependabot[bot] (1)
  • qinhaohcen (1)
  • vascomedici (1)
  • adrinjalali (1)
  • t-reents (1)
  • jmaddalena (1)
  • brdeleeuw (1)
  • ogrisel (1)
Pull Request Authors
  • reidjohnson (88)
  • dependabot[bot] (69)
  • brentonmallen1 (1)
Top Labels
Issue Labels
dependencies (1)
Pull Request Labels
dependencies (69) github_actions (16)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 20,880 last-month
  • Total dependent packages: 2
  • Total dependent repositories: 2
  • Total versions: 26
  • Total maintainers: 2
pypi.org: quantile-forest

Quantile regression forests compatible with scikit-learn.

  • Versions: 26
  • Dependent Packages: 2
  • Dependent Repositories: 2
  • Downloads: 20,880 Last month
Rankings
Downloads: 3.4%
Dependent packages count: 4.7%
Average: 7.8%
Stargazers count: 8.6%
Forks count: 10.5%
Dependent repos count: 11.6%
Maintainers (2)
Last synced: 4 months ago

Dependencies

docs/sphinx_requirements.txt pypi
  • matplotlib *
  • numpydoc *
  • sphinx *
  • sphinx_gallery *
  • sphinx_rtd_theme *
  • sphinxcontrib.bibtex *
requirements.txt pypi
  • cython >=3.0a4
  • numpy *
  • scikit-learn >=1.0
  • scipy *