Skip to main content

RFX-Fuse: Breiman and Cutler's Unified ML Engine with GPU Acceleration

Project description

RFX-Fuse: Breiman and Cutler's Random Forests as a Forest Unified Learning and Similarity Engine - Extended with Native Explainable Similarity

License: MIT PyPI PyPI CPU Python 3.11+ C++17 CUDA arXiv

RFX-Fuse (Random Forests X [X=compression] — Forest Unified Learning and Similarity Engine) delivers Breiman and Cutler's complete vision for Random Forests as a Forests Unified Machine Learning and Similarity Engine with native GPU/CPU support.

Breiman and Cutler designed Random Forests as more than an ensemble predictor. Their original implementation from the early 2000s included classification, regression, unsupervised learning, proximity-based similarity, outlier detection, missing value imputation, and visualization. Modern libraries like scikit-learn's random forests implementation (2010-2011) skipped many of these features.

These capabilities enable it to be a unified learning and similarity engine. With just 1-2 model objects, we can achieve comparable accuracy and output to 3-5 main industery tools. For example, 1 model has comparable output to 4 separate tools for Time Series Regression + native explainable similarity. 1 model = 1 set of trees grown once.

Key Use Cases

Use Case RFX-Fuse Comparable Approach
Recommender Systems 1–2 models 5 tools (FAISS + XGBoost + Shap + Isolation Forests + Custom Code)
Finance Explainability 1 model 3 tools (XGBoost + Shap + Isolation Forests)
Time Series Regression 1 model 4 tools (XGBoost + Shap + Isolation Forests + FAISS)
Imputation Validation 1 model time series methods (general tabular: RFX-Fuse)
Anomaly Detection 1 model 3 tools (Isolation Forests + Shap + Custom Code)

Novel Contributions

  1. Native Explainable Similarity: Breiman and Cutler's original similarity scoring via proximities enable comparable output with Faiss for NDCG + HR on retrieval. Proximity Importance gives the why.
Proximity Importance Example

Explanations available in arXiv paper.

  1. Imputation Quality Validation for General Tabular Data — Rank imputation methods by how "real" the imputed data looks, without ground truth labels.

Comparable Tools Functionality Comparison

Feature RFX-Fuse XGBoost sklearn RF FAISS
Classification
Regression
Unsupervised
Overall importance
Local importance (per-sample) SHAP
Proximity/similarity scoring
Overall proximity importance
Local proximity importance
Top-K similar with explanations
Outlier detection with explanations
Missing value imputation
Weighted bootstrap sampling

Installation

Pre-built Wheels (Recommended)

Pre-built binary wheels are available on PyPI for Python 3.11, 3.12, and 3.13. No compiler, CMake, or CUDA toolkit needed for CPU builds.

GPU (requires CUDA 12.4+ toolkit installed on your system)

pip install rfx-fuse

CPU-only

pip install rfx-fuse-cpu

Available Wheels

Package Platform Python Architecture
rfx-fuse Linux 3.11, 3.12, 3.13 x86_64 (CUDA 12.4)
rfx-fuse Windows 3.11, 3.12, 3.13 x86_64 (CUDA 12.4)
rfx-fuse-cpu Linux 3.11, 3.12, 3.13 x86_64
rfx-fuse-cpu Windows 3.11, 3.12, 3.13 x86_64
rfx-fuse-cpu macOS 3.11, 3.12, 3.13 Apple Silicon (ARM)

Note: GPU wheels require the CUDA Toolkit 12.4+ to be installed on your system. CPU wheels have no external dependencies beyond Python and NumPy.

From Source (GPU)

git clone https://github.com/chriskuchar/RFX-Fuse.git
cd RFX-Fuse
pip install -e .

From Source (CPU-only)

git clone https://github.com/chriskuchar/RFX-Fuse.git
cd RFX-Fuse
RFX_CPU_ONLY=1 pip install -e .

Prerequisites (source builds only)

  • Python 3.9+
  • CMake 3.18+
  • C++ compiler with C++17 support (GCC 7+, Clang 5+, MSVC 2019+)
  • OpenMP (usually included with compiler)
  • CUDA toolkit 12.4+ (GPU builds only)

Verify Installation

import RFXFuse as rfx
print(f"RFX-Fuse version: {rfx.__version__}")
print(f"CUDA enabled: {rfx.__cuda_enabled__}")

Examples

Each use case has a complete demonstration script in the examples/ folder:

Use Case Demo Script Description
Recommender Systems examples/recommender_system/demo_recommender_system.py MovieLens 25M: similarity retrieval + ranking with explanations
Finance Explainability examples/classification/demo_loan_classification.py Loan default prediction with 4-type explainability
Time Series Regression examples/time_series/demo_time_series.py Bike sharing: prediction + outlier detection
Imputation Validation examples/data_imputation/demo_imputation.py Rank imputation methods without ground truth
Anomaly Detection examples/anomaly_detection/demo_anomaly_detection.py Breiman-Cutler outlier detection
Sample Weights examples/classification/demo_sample_weights.py Weighted bootstrap sampling for classification & regression

Run an example:

cd examples/time_series
python demo_time_series.py

Industry Use Cases

Use Case 1: Recommender Systems

RFX-Fuse Unsupervised for retrieval + RFX-Fuse Supervised for re-ranking on MovieLens 25M.

Recommender System Stage 1:

Recommender System Results Stage 1 Similarity Scoring

Explanations available in arXiv paper.



Recommender System Stage 2 Part 1:

Recommender System Results Stage 2 Supervised Modeling

Explanations available in arXiv paper.

Recommender System Stage 2 Part 2:

Recommender System Results Stage 2 Outlier Detection

Explanations available in arXiv paper.

Recommender System Stage 2 Part 3:

Recommender System Results Stage 2 Top K Retrieval

Explanations available in arXiv paper.

View Code →


Use Case 2: Finance Explainability

Single classifier provides regulatory-compliant explanations (ECOA, GDPR, Fair Lending).

Finance Explainability Results

Finance Explainability Results

Explanations available in arXiv paper.

View Code →


Use Case 3: Time Series Regression

RFX-Fuse Regressor on UCI Bike Sharing dataset with full explainability.

Time Series Results

Explanations available in arXiv paper.

View Code →


Use Case 4: Imputation Quality Validation

Novel capability for general tabular data. Rank imputation methods by how "real" the imputed data looks.

Imputation Validation Results

Explanations available in arXiv paper.

View Code →


Use Case 5: Anomaly Detection

Breiman-Cutler method: train on clean data, anomalies have high P(synthetic).

Anomaly Detection Results

Explanations available in arXiv paper.

View Code →

API Reference

For complete API documentation with all parameters, methods, and examples, see docs/API.md.

Performance

GPU Benchmarks

Environment: NVIDIA RTX 3060 (12GB), AMD Ryzen 7 5800X, 32GB RAM

Use Case Train Size Features Trees Training Time
Recommender (Unsup) 59,047 (×2) 23 1,000 ~1,040s
Recommender (Sup) 47,237 21 1,000 120s
Finance Classification 46,396 15 500 69s
Bike Regression 5,725 4 1,000 24s
Imputation Validation 3,000 12 100 3.6s
Anomaly Detection 15,000 8 100 112s

Training times include predictions, similarity scoring, proximity importance, local importance, and all explainability features where applicable.

CPU Benchmarks

Coming soon.

Methodology

For detailed methodology, see:

Citation

@article{kuchar2026rfxfuse,
  author       = {Kuchar, Chris},
  title        = {RFX-Fuse: Breiman and Cutler's Unified ML Engine + Native Explainable Similarity},
  year         = {2026},
  journal      = {arXiv preprint arXiv:2511.19493},
  url          = {https://arxiv.org/html/2603.13234v1}
}

Acknowledgments

This work aims to implement the full unified learning and similarity engine Dr. Leo Breiman and Dr. Cutler created when they made their Fortran/Java implementation in the early 2000s.

Special thanks to Dr. Adele Cutler for generously sharing original Breiman-Cutler Random Forest source materials, which made this faithful restoration and extension possible.

Work in Progress

  • Multi-class classification support

Previous Work

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rfx_fuse-1.1.4.tar.gz (550.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rfx_fuse-1.1.4-cp313-cp313-win_amd64.whl (55.4 MB view details)

Uploaded CPython 3.13Windows x86-64

rfx_fuse-1.1.4-cp313-cp313-manylinux_2_28_x86_64.whl (55.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

rfx_fuse-1.1.4-cp312-cp312-win_amd64.whl (55.4 MB view details)

Uploaded CPython 3.12Windows x86-64

rfx_fuse-1.1.4-cp312-cp312-manylinux_2_28_x86_64.whl (55.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

rfx_fuse-1.1.4-cp311-cp311-win_amd64.whl (55.4 MB view details)

Uploaded CPython 3.11Windows x86-64

rfx_fuse-1.1.4-cp311-cp311-manylinux_2_28_x86_64.whl (55.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

File details

Details for the file rfx_fuse-1.1.4.tar.gz.

File metadata

  • Download URL: rfx_fuse-1.1.4.tar.gz
  • Upload date:
  • Size: 550.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rfx_fuse-1.1.4.tar.gz
Algorithm Hash digest
SHA256 06b3e75a86e929ee6895d2092424557cf29243b754f86030c303a93a70cc0a2e
MD5 8afcf01af695bb0f0fde1358d9eb9e8c
BLAKE2b-256 a1fcce8fb2bbe633ee6cdeac92181571453ddcc0073c192ba0ad04d2bfe96eb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rfx_fuse-1.1.4.tar.gz:

Publisher: build_wheels.yml on chriskuchar/RFX-Fuse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rfx_fuse-1.1.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rfx_fuse-1.1.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 55.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rfx_fuse-1.1.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9d8a062c96f768a229969b6ab338cec37b1c699f0c2abda78fe26fb3596170b8
MD5 f8237fef088a8c807a013963b0320d4e
BLAKE2b-256 e4d5466c4853a09727ccb06258dbe937ce3f135e98f124142ea43396728b5fe0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rfx_fuse-1.1.4-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on chriskuchar/RFX-Fuse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rfx_fuse-1.1.4-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rfx_fuse-1.1.4-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09ac46033bb078f8521fb08bbe18e680abaa799ae0f672240d45beddfe9ab14c
MD5 39c851da3821a6568c650cf2749dd9b7
BLAKE2b-256 65b620de3d78330606912976db2db59c821bf71a432c05b6240038b5d1de7f08

See more details on using hashes here.

Provenance

The following attestation bundles were made for rfx_fuse-1.1.4-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on chriskuchar/RFX-Fuse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rfx_fuse-1.1.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rfx_fuse-1.1.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 55.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rfx_fuse-1.1.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ab9f100d0705c815c52c260beac694f46d9f9dfc188995e197fe5ddf63bf52cd
MD5 8d9583366a6a2fe9bd19f78e22136b3b
BLAKE2b-256 ae2b793544308e1d3f07af3b9eb388f3bd440ed67ce62195771996293ada3734

See more details on using hashes here.

Provenance

The following attestation bundles were made for rfx_fuse-1.1.4-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on chriskuchar/RFX-Fuse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rfx_fuse-1.1.4-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rfx_fuse-1.1.4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 834b08af583fcb953ba1b684445a8ec9efed95f4ab9a9486b7e6d9738f3ec60c
MD5 5a0445dd48a17b21fde9ee644f5d23e0
BLAKE2b-256 fbab0ff23a9251f02a1091d0fd0ea1df6b3fc7801a843e8c1f01a1ef13995929

See more details on using hashes here.

Provenance

The following attestation bundles were made for rfx_fuse-1.1.4-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on chriskuchar/RFX-Fuse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rfx_fuse-1.1.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rfx_fuse-1.1.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 55.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rfx_fuse-1.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e2225ebb84e83f44eb58824d2efda884e9edcaf104de508b9ac8cd45b563b549
MD5 0b44facf416f15d2286de07536e4868c
BLAKE2b-256 40b8fce9e6f7830ce4bf9225dca1a94d6e4a9fdf175e4f87ca01be22557b0925

See more details on using hashes here.

Provenance

The following attestation bundles were made for rfx_fuse-1.1.4-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on chriskuchar/RFX-Fuse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rfx_fuse-1.1.4-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rfx_fuse-1.1.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dcbc0a5298011dd4affef13a863713b63300b9fe9c8e772df7d9f5bc12339536
MD5 9d1983aa606e1a8db659d25090529178
BLAKE2b-256 350318cc1aa4b0c40ba8b500a2be7592e2ddb89814efdedd170361b50086d1f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rfx_fuse-1.1.4-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on chriskuchar/RFX-Fuse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page