决策树可视化 - peter-xbs/CommonCodes GitHub Wiki

graphviz

import graphviz
from sklearn import tree

clf = tree.DecisionTreeClassifier(max_depth=4)

clf.fit(X_train, y_train)

dot_data = tree.export_graphviz(clf, xxx)
graph = graphviz.Source(dot_data)
graph

image

xgboost

import xgboost as xgb
import matplotlib.pyplot as plt

model = xgb.XGBClassifier(xxx)
bst = model.fit(X_train, y_train)

xgb.plot_tree(bst, num_trees=1)
plt.show()

上例可视化第二棵树

dtreeviz

from dtreeviz.trees import dtreeviz # remember to load the package

viz = dtreeviz(clf, X, y,
                target_name="target",
                feature_names=iris.feature_names,
                class_names=list(iris.target_names))

viz

image

回归树可视化

from dtreeviz.trees import dtreeviz # remember to load the package

viz = dtreeviz(regr, X, y,
                target_name="target",
                feature_names=boston.feature_names)
viz

REF: