dtreeviz库
-
dtreeviz
有以下特色:-
利用有颜色的目标类别图例
-
叶子大小与该叶子中的样本数成正比
-
将≥和<用作边缘标签,看起来更清晰
-
决策节点利用堆叠直方图展示特征分布,每个目标类别都会用不同的颜色显示
-
在每个节点中各目标类别的样本数都用直方图的形式,这样可以提供更多信息
dtreeviz
同样依赖GraphViz。 -
-
dtreeviz
安装pip install dtreeviz # install dtreeviz for sklearnpip install dtreeviz[xgboost] # install XGBoost related dependencypip install dtreeviz[pyspark] # install pyspark related dependencypip install dtreeviz[lightgbm] # install LightGBM related dependency
-
分类树
"""分类树"""from sklearn.datasets import load_iris from sklearn import tree import graphviz from dtreeviz.trees import dtreeviz from sklearn.tree import DecisionTreeClassifieriris = load_iris()clf = DecisionTreeClassifier(criterion='gini',max_depth=2)# 演示用,只用2层树 clf.fit(iris.data,iris.target)viz = dtreeviz(clf #分类器,iris.data # X,iris.target # y,target_name='Iris_variety' ,feature_names=iris.feature_names # 特征名称,class_names={0:'setosa',1:'versicolor',2:'virginica'} # 类别名称,title="Decision Tree Classifier- Iris data set" # 标题名称,scale=2.4 # 缩放比例,数值越大图越大)viz
-
回归树
"""回归树""" from sklearn.datasets import load_boston from sklearn import tree import graphviz from dtreeviz.trees import dtreeviz from sklearn.tree import DecisionTreeRegressorboston = load_boston()reg = DecisionTreeRegressor(criterion='mse',max_depth=2)# 演示用,只用2层树 reg.fit(boston.data,boston.target)viz = dtreeviz(reg # 回归器,x_data=boston.data,y_data=boston.target,target_name='price',feature_names=boston.feature_names,title="Decision Tree Regressor - Boston housing",show_node_labels = True,scale=2.4)viz