Skip to main content

"They took all the trees, and put em in a tree museum... And they charged the people a dollar and a half to see them" — Joni Mitchell, "Big Yellow Taxi"

Boosted decision trees are widely used in HEP, particularly in data analyses for making complex, multivariate nested cuts to separate signal events from background ones.

While powerful, the complexity of their training makes BDT (and therefore analysis) preservation troublesome: BDTs get stored in different formats, which may not be forwards-compatible with future versions of their framework libraries. So now we start talking about dragging around Docker containers just to make sure the right version of the right framework is used. Plus those libraries have to be included in any user code, adding unwelcome dependencies and complexity, and perhaps even being incompatible with the target language (e.g. applying a BDT from a Python framework in a C++ application).

This is ridiculous, because BDTs are actually absurdly simple objects. The framework complexity is needed for training, but not for execution. This package provideds a set of utilities for converting sklearn and TMVA boosted decision trees, for either classification or regression, from their custom formats to vanilla C++ and Python code that has no dependencies, can be safely used forever without risk of format or framework breaking-changes, and by virtue of being static code can execute more quickly and with less memory overhead than the original form.

Metadata

Release files for petrify-bdt 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for petrify-bdt 1.1.0
File Size Uploaded
petrify-bdt-1.1.0.tar.gz 18.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for petrify-bdt 1.1.0
File Interpreter ABI Platform
petrify_bdt-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.3 kB

Release files / petrify-bdt-1.1.0.tar.gz

Download URL petrify-bdt-1.1.0.tar.gz
Size 18.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d42cfccf34d6aaca4fff8194e0d0123599209880bc28a456cf2d3aeef13eb986
BLAKE2b-256 checksum
How to use checksums
2200944927139fd1ba009c5c304427f5ec60bf070dc44fea4f0f7b81c554dc72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release files / petrify_bdt-1.1.0-py3-none-any.whl

Download URL petrify_bdt-1.1.0-py3-none-any.whl
Size 19.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
536503a8f55c1a4ffe83b420c0f0b1377e67fa8818dccaaf8b3f70b822b3b3fe
BLAKE2b-256 checksum
How to use checksums
8e59b9d1a514a174233678cb3b9d2b77c2c8837da5b03ac236acb542bb69b43c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page