This package written in Rust implements extremely randomized forests by Geurts et al. [1]. There are Python bindings available as well. How to use this library can be found in the examples.
The main goal of this project is to learn more about random forests and provide a fast multi-threaded implementation of extremely randomized forests. I hope to make use of SIMD instructions in the future to further improve throughput and decrease latency.
- Implement extremely randomized tree and forest regressors in Rust
- Python bindings using
maturin
andpyo3
- Benchmarks
- Documentation
- SIMD
- x86_64: AVX512
- ARM: NEON
- Feature importance
git clone https://github.com/mvanaltvorst/extra-rs.git
cd extra-rs
pip install maturin
maturin develop --release
extra-rs
contains the Rust library which implements extremely randomized forests from scratch, whereas extra-py
is the Maturin project that exposes Python bindings.
[1] Geurts, P., Ernst, D. & Wehenkel, L. Extremely randomized trees. Mach Learn 63, 3–42 (2006). https://doi.org/10.1007/s10994-006-6226-1