{"id":19448462,"url":"https://github.com/neurodata/honest-forests","last_synced_at":"2026-03-11T09:33:07.140Z","repository":{"id":39009760,"uuid":"459614841","full_name":"neurodata/honest-forests","owner":"neurodata","description":"Honest decision forests and trees implemented efficiently and scikit-learn compliant.","archived":false,"fork":false,"pushed_at":"2024-04-05T13:52:04.000Z","size":1178,"stargazers_count":8,"open_issues_count":4,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-05T03:52:43.615Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neurodata.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2022-02-15T14:32:00.000Z","updated_at":"2025-01-26T11:24:52.000Z","dependencies_parsed_at":"2024-04-05T14:47:14.957Z","dependency_job_id":"1065aba4-8efd-4519-8782-2f19322d2876","html_url":"https://github.com/neurodata/honest-forests","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/neurodata/honest-forests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodata%2Fhonest-forests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodata%2Fhonest-forests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodata%2Fhonest-forests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodata%2Fhonest-forests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neurodata","download_url":"https://codeload.github.com/neurodata/honest-forests/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodata%2Fhonest-forests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30377285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-10T16:26:53.853Z","updated_at":"2026-03-11T09:33:07.121Z","avatar_url":"https://github.com/neurodata.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# honest-forests package\n\n## Overview\n\nHonest decision forests and trees implemented efficiently and scikit-learn compliant.\n\nHonest trees and forests use sample splitting to unbias the estimates made in leaves.\nThis leads to asytmptotic convergence guarantees and empirically better calibration\n(e.g. more accurate posterior probabilities, see our paper [here](https://arxiv.org/abs/1907.00325)).\n\nAn example can be seen here, comparing an honest forest to the traditional random forest\nand two other ad-hoc calibration approaches.\n\n![overlapping_gaussians.png](examples/figures/overlapping_gaussians.png)\n\n## Install from Github\n\n```console\ngit clone https://github.com/neurodata/honest-forests.git\ncd honest-forests\npip install -e .\n```\n\n## Contributing\n\n### Git workflow\n\nThe preferred workflow for contributing to hyppo is to fork the main repository on GitHub, clone, and develop on a\nbranch. Steps:\n\n1. Fork the [project repository](https://github.com/neurodata/honest-forests) by clicking on the ‘Fork’ button near the top\n   right of the page. This creates a copy of the code under your GitHub user account. For more details on how to\n   fork a repository see [this guide](https://help.github.com/articles/fork-a-repo/).\n\n2. Clone your fork of the hyppo repo from your GitHub account to your local disk:\n\n   ```sh\n   git clone git@github.com:YourGithubAccount/honest-forests.git\n   cd honest-forests\n   ```\n\n3. Create a feature branch to hold your development changes:\n\n   ```sh\n   git checkout -b my-feature\n   ```\n\n   Always use a `feature` branch. Pull requests directly to either `dev` or `main` will be rejected\n   until you create a feature branch based on `dev`.\n\n4. Develop the feature on your feature branch. Add changed files using `git add` and then `git commit` files:\n\n   ```sh\n   git add modified_files\n   git commit\n   ```\n\n   After making all local changes, you will want to push your changes to your fork:\n\n   ```sh\n   git push -u origin my-feature\n   ```\n\n### Pull Request Checklist\n\nWe recommended that your contribution complies with the following rules before you submit a pull request:\n\n- Follow the [coding-guidelines](#guidelines).\n- Give your pull request a helpful title that summarizes what your contribution does.\n- Link your pull request to the issue (see:\n  [closing keywords](https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue)\n  for an easy way of linking your issue)\n- All public methods should have informative docstrings with sample usage presented as doctests when appropriate.\n- At least one paragraph of narrative documentation with links to references in the literature (with PDF links when\n  possible) and the example.\n- If your feature is complex enough that a doctest is insufficient to fully showcase the utility, consider creating a\n  Jupyter notebook to illustrate use instead\n- All functions and classes must have unit tests. These should include, at the very least, type checking and ensuring\n  correct computation/outputs.\n- All code should be automatically formatted by `black`. You can run this formatter by calling:\n\n  ```sh\n  pip install black\n  black path/to/your_module.py\n  ```\n\n\u003c!-- - Ensure all tests are passing locally using `pytest`. Install the necessary\n  packages by:\n\n  ```sh\n  pip install pytest pytest-cov\n  pytest\n  ``` --\u003e\n\n### Coding Guidelines\n\nUniformly formatted code makes it easier to share code ownership. hyppo package closely follows the official\nPython guidelines detailed in [PEP8](https://www.python.org/dev/peps/pep-0008/) that detail how code should be\nformatted and indented. Please read it and follow it.\n\n### Docstring Guidelines\n\nProperly formatted docstrings are required for documentation generation by Sphinx. The hyppo package closely\nfollows the numpydoc guidelines. Please read and follow the\n[numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html#overview) guidelines. Refer to the\n[example.py](https://numpydoc.readthedocs.io/en/latest/example.html#example) provided by numpydoc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneurodata%2Fhonest-forests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneurodata%2Fhonest-forests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneurodata%2Fhonest-forests/lists"}