Skip to main content

Visualize decision tree in Python

Project description

supertree - Interactive Decision Tree Visualization

License PyPI version Downloads GitHub stars

Visualize decision trees interactively in Jupyter, JupyterLab, and Google Colab. Zoom, pan, collapse nodes, and trace sample paths - all inside your notebook.

Works with scikit-learn, XGBoost, LightGBM, and ONNX.

Installation

pip install supertree

Quick Start

Visualize Decision Tree classifier on iris data

Open In Colab
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from supertree import SuperTree

# Load the iris dataset
iris = load_iris()

# Train model
model = DecisionTreeClassifier(max_depth=3)
model.fit(iris.data, iris.target)

# Initialize supertree
super_tree = SuperTree(model, iris.data, iris.target, iris.feature_names, iris.target_names)

# show tree in your notebook
super_tree.show_tree()

It works with trees ensembles too - Random Forest Regressor Example

Open In Colab
from sklearn.ensemble import RandomForestRegressor
from sklearn.datasets import load_diabetes
from supertree import SuperTree  # <- import supertree :)

# Load the diabetes dataset
diabetes = load_diabetes()
X = diabetes.data
y = diabetes.target

# Train model
model = RandomForestRegressor(n_estimators=100, max_depth=3, random_state=42)
model.fit(X, y)

# Initialize supertree
super_tree = SuperTree(model,X, y)
# show tree with index 2 in your notebook
super_tree.show_tree(2)

There are more code snippets in the examples directory.

Supported Libraries

  • scikit-learn (sklearn)
  • LightGBM
  • XGBoost
  • ONNX:

Supported Algorithms

The package is compatible with a wide range of classifiers and regressors from these libraries, specifically:

Scikit-learn

  • DecisionTreeClassifier
  • ExtraTreeClassifier
  • ExtraTreesClassifier
  • RandomForestClassifier
  • GradientBoostingClassifier
  • HistGradientBoostingClassifier
  • DecisionTreeRegressor
  • ExtraTreeRegressor
  • ExtraTreesRegressor
  • RandomForestRegressor
  • GradientBoostingRegressor
  • HistGradientBoostingRegressor

LightGBM

  • LGBMClassifier
  • LGBMRegressor
  • Booster

XGBoost

  • XGBClassifier
  • XGBRFClassifier
  • XGBRegressor
  • XGBRFRegressor
  • Booster

If we do not support the model you want to use, please let us know.

Articles

Support

If you encounter any issues, find a bug, or have a feature request, we would love to hear from you! Please don't hesitate to reach out to us at supertree/issues. We are committed to improving this package and appreciate any feedback or suggestions you may have.

License

supertree is open source under the Apache License 2.0.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

supertree-1.1.0-py3-none-any.whl (299.4 kB view details)

Uploaded Python 3

File details

Details for the file supertree-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: supertree-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 299.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for supertree-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd4021ccb01229ea43c8b59bdb9dcc5484d6507d78153a6b8b8fb7caba202c5f
MD5 feca2e8047390d7c839566db0b489947
BLAKE2b-256 c0cf286d83f61e071b4ba14dadd1a937f5fac61d222a1a2263cd65b7ab2d462d

See more details on using hashes here.

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