Skip to main content

RFX: Random Forests X (CPU-Only Edition)

Python 3.8+ PyPI version License: MIT arXiv C++

RFX (Random Forests X) is a high-performance Python implementation of Breiman and Cutler's original Random Forest methodology with an optimized C++ back-end.

This is the CPU-only version (rfx-ml-cpu), built without CUDA dependencies, making it ideal for systems without GPUs or lightweight installations.

Note: For GPU acceleration and QLORA compression with large datasets, use the rfx-ml package instead.

Key Features

  • Complete classification: Out-of-bag error, confusion matrices, class probabilities
  • Local importance: Per-sample feature importance (similar to SHAP, built-in)
  • Proximity matrices: Pairwise sample similarities for outlier detection and visualization
  • CPU-optimized: Fast multi-threaded C++ implementation
  • No CUDA required: Works on any system without GPU dependencies
  • Interactive visualization: Python-native rfviz with 3D MDS and parallel coordinates

Installation

CPU-Only Version (this package):

pip install rfx-ml-cpu

GPU-Enabled Version (if you have CUDA):

pip install rfx-ml

Note: These packages are mutually exclusive. Both provide the rfx module. Choose based on your hardware:

  • CPU-only system or want minimal dependencies? → rfx-ml-cpu
  • Have a GPU and want acceleration? → rfx-ml

Prerequisites: CMake 3.12+, Python 3.8+, C++ compiler with C++17 support. No CUDA required!

The pip install command will automatically build from source. Make sure you have the prerequisites installed before running pip.

Quick Start

import numpy as np
import rfx as rf

# Load sample data
X, y = rf.load_wine()

# Train Random Forest (CPU-only)
model = rf.RandomForestClassifier(
    ntree=100,
    use_gpu=False,  # Required: CPU-only package
    compute_importance=True,
    compute_local_importance=True,
    compute_proximity=True
)

model.fit(X, y)

# Get predictions and metrics
oob_error = model.get_oob_error()
print(f"OOB Error: {oob_error:.4f}")

predictions = model.predict(X)
importance = model.feature_importances_()
local_imp = model.get_local_importance()

# Interactive visualization
rf.rfviz(
    rf_model=model,
    X=X,
    y=y,
    output_file="rfviz_example.html"
)

CPU Performance

RFX-CPU uses highly optimized multi-threaded C++ code:

# Automatic multi-threading (uses all CPU cores by default)
model = rf.RandomForestClassifier(
    ntree=500,
    use_gpu=False,
    n_threads_cpu=0,  # Auto-detect CPU cores
    compute_proximity=True
)

model.fit(X, y)

When to use this package:

  • No GPU available
  • Lightweight installation needed
  • Small to medium datasets (<50K samples)
  • CPU-only deployment environments

For large datasets (>50K samples) with proximity matrices, consider rfx-ml with GPU acceleration for significantly faster performance.

Switching Between Versions

Both packages use the same import rfx statement. To switch:

# Switch to GPU version
pip uninstall rfx-ml-cpu
pip install rfx-ml

Documentation

For complete documentation, examples, and advanced usage, visit:

License

MIT License - see LICENSE file for details.

Metadata

Release files for rfx-ml-cpu 1.0.2

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

Source distribution (sdist)

Source distribution for rfx-ml-cpu 1.0.2
File Size Uploaded
rfx_ml_cpu-1.0.2.tar.gz 304.1 kB Details

Release files / rfx_ml_cpu-1.0.2.tar.gz

Download URL rfx_ml_cpu-1.0.2.tar.gz
Size 304.1 kB
Tags Source
SHA-256 checksum
How to use checksums
be8be0dfe46909cefd267de0ce0fc1e458428eee75232b205e7a811c37e425ab
BLAKE2b-256 checksum
How to use checksums
e67253b029760f42f09f89b2c2ac66f42362447e24b5632a2a14985dd2ab2474
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.0.2 This release

1 release file

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