Visualize decision tree in Python
Project description
supertree - Interactive Decision Tree Visualization
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
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
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
DecisionTreeClassifierExtraTreeClassifierExtraTreesClassifierRandomForestClassifierGradientBoostingClassifierHistGradientBoostingClassifierDecisionTreeRegressorExtraTreeRegressorExtraTreesRegressorRandomForestRegressorGradientBoostingRegressorHistGradientBoostingRegressor
LightGBM
LGBMClassifierLGBMRegressorBooster
XGBoost
XGBClassifierXGBRFClassifierXGBRegressorXGBRFRegressorBooster
If we do not support the model you want to use, please let us know.
Articles
- Visualize decision tree from scikit-learn package
- 4 ways to vizualize decision tree from LightGBM
- How to visualize decision tree from Xgboost
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd4021ccb01229ea43c8b59bdb9dcc5484d6507d78153a6b8b8fb7caba202c5f
|
|
| MD5 |
feca2e8047390d7c839566db0b489947
|
|
| BLAKE2b-256 |
c0cf286d83f61e071b4ba14dadd1a937f5fac61d222a1a2263cd65b7ab2d462d
|