Skip to main content

RuleTree

RuleTree builds interpretable decision trees one node at a time. Each node is split by a stump: a threshold on a feature, the distance from an instance of the training set (a pivot), the distance of a time series from a shapelet, a fair split, ... The same tree can mix different kinds of stumps and different types of data (tabular data, time series, images), and its rules can be read, drawn and saved.

  • Classification, regression and clustering trees with the scikit-learn API.
  • Stumps for tabular data, time series and images, usable together in the same tree.
  • Rules as text or Graphviz drawings, feature contributions of each prediction.
  • Trees saved to and loaded from JSON, grown further with partial_fit.
  • Gradient boosting, XGBoost and explainable boosting machines of RuleTrees.
  • New stumps written by combining a transformer (the features) and a splitter (the split).

Installation

RuleTree requires Python 3.10 or later. From the root of the repository:

pip install .
pip install ".[graphviz]"   # optional: drawing the trees (also requires the Graphviz binaries)

Example

from sklearn.datasets import load_iris

from RuleTree import RuleTreeClassifier

X, y = load_iris(return_X_y=True)
model = RuleTreeClassifier(max_depth=2, random_state=0).fit(X, y)
model.print_rules(model.get_rules(columns_names=["sepal length", "sepal width",
                                                  "petal length", "petal width"]))
|--- petal width <= 0.8
|    output: 0
|--- petal width > 0.8
|   |--- petal width <= 1.75
|   |    output: 1
|   |--- petal width > 1.75
|   |    output: 2

Trees with other stumps and other types of data:

from RuleTree.stumps.classification import DecisionTreeStumpClassifier, ShapeletTreeStumpClassifier

# X: tabular data, X_ts: time series of shape (n_samples, n_signals, length)
model = RuleTreeClassifier(max_depth=3, stump_selection="best",
                           base_stumps=[DecisionTreeStumpClassifier(), ShapeletTreeStumpClassifier()])
model.fit(X=X, X_ts=X_ts, y=y)

Documentation

The user guide is in docs/guides:

The HTML documentation, with the API reference, is built with Sphinx:

pip install -r requirements.docs.txt
make -C docs html   # docs/_build/html/index.html

More examples are in the notebooks of Examples.

Tests

pip install ".[test]"
pytest

The tests include the docstring examples and the code of the guides, whose printed output is compared with the one in the guides.

Metadata

Release files for RuleTree 2026.10.15.12129

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

Source distribution (sdist)

Source distribution for RuleTree 2026.10.15.12129
File Size Uploaded
ruletree-2026.10.15.12129.tar.gz 197.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for RuleTree 2026.10.15.12129
File Interpreter ABI Platform
ruletree-2026.10.15.12129-py3-none-any.whl Python 3 none any Details

Total release size: 472.2 kB

Release files / ruletree-2026.10.15.12129.tar.gz

Download URL ruletree-2026.10.15.12129.tar.gz
Size 197.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1196d590adb1392b8952e4d221ce5723bbcc9d1aaebe5c8048035e0db7c7e778
BLAKE2b-256 checksum
How to use checksums
4eae68a7c6f13c57f73055257fc4100f8ca956052df47170c4eed2d97364d72c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / ruletree-2026.10.15.12129-py3-none-any.whl

Download URL ruletree-2026.10.15.12129-py3-none-any.whl
Size 275.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e8c932009fd9d5747cd77190c7c067261d0dbf010232e9161a24ac79469bb98e
BLAKE2b-256 checksum
How to use checksums
f711e56f7e2b17ae6a0343e4c237e5845bc1437000c33a4c38ada26c6f26ac91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release history Release notifications | RSS feed

This release

2026.10.15.12129 This release

2 release files

0.0.4

1 release file

0.0.3

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