python决策树可视化:GraphViz,python决策树怎么可视化
本文主要介绍python工具dtreeviz决策树可视化和模型可解释性。决策树是梯度提升和随机森林的基本构造块。在学习这些模型的工作原理和模型可解释性时,可视化决策树非常有帮助。以下相关资料,可以随意参考。
00-1010一、安装二用法1。必需的库2。回归决策树3。分类决策树4。预测路径5。解释前言:.的预测路径
它是梯度提升和随机森林的基本构建模块。在学习这些模型的工作原理和可解释性时,可视化决策树非常有帮助。但是目前的可视化软件包还很初级,对初学者帮助不大。
当我最近访问Github时,我发现了一个很棒的 dtreeviz 工具库:,它用于决策树可视化和模型解释。Dtreeviz可以用来可视化特征空间在决策节点上是如何划分的,训练样本在叶节点上是如何分布的,树是如何预测特定的观察值的,等等。这些操作对于理解分类或回归决策树的工作方式至关重要。
目录
pip安装dtreeviz #为sklearn安装dtreeviz
pip install dtreeviz[XGBoost]# install XGBoost相关依赖项
pip install dtreeviz[pyspark] #安装pyspark相关的依赖项
pip install dtreeviz[light GBM]# install light GBM相关依赖项
一、安装
在dtree:.创建决策树可视化的主要功能给定一个决策树回归或分类器,使用graphviz创建并返回一个树可视化。
二、用法
导入所需要的基本库
从sklearn.datasets导入*
从sklearn导入树
从dtreeviz.trees导入*
1.所需的库
树的默认方向是自顶向下的,但是您可以使用orientation="lr "将其从左向右更改。View()给出一个弹出窗口,其中显示了一个graphviz对象。
regr=树。决策树回归器(max_depth=2)
波士顿=load _波士顿()
regr.fit(波士顿数据,波士顿目标)
viz=dtreeviz(regr,
波士顿数据,
波士顿。目标,
target_name=价格,
feature _ names=Boston . feature _ names)
即视图()
2.回归决策树
分类树需要class_names的附加参数,它给出了类值和类名之间的映射。
分类器=树。决策树分类器(max_depth=2) #限制树的深度
iris=load_iris()
分类器. fit(iris.data,iris.target)
viz=dtreeviz(分类器,
虹膜数据,
艾瑞斯.塔吉特,
target_name=variety ,
功能名称=
iris.feature_names,
class_names=["setosa", "versicolor", "virginica"] # need class_names for classifier
)
viz.view()
4.预测路径
突出显示参数 X 中传递的单个观察的特征值所在的决策节点。给出观察的特征值并突出树用于遍历路径的特征。
regr = tree.DecisionTreeRegressor(max_depth=2) # limit depth of treediabetes = load_diabetes()
regr.fit(diabetes.data, diabetes.target)
X = diabetes.data[np.random.randint(0, len(diabetes.data)),:] # random sample from training
viz = dtreeviz(regr,
diabetes.data,
diabetes.target,
target_name=value,
orientation =LR, # left-right orientation
feature_names=diabetes.feature_names,
X=X) # need to give single observation for prediction
viz.view()
如果只想可视化预测路径,则需要设置参数show_just_path=True
dtreeviz(regr,diabetes.data,
diabetes.target,
target_name=value,
orientation =TD, # top-down orientation
feature_names=diabetes.feature_names,
X=X, # need to give single observation for prediction
show_just_path=True
)
5.解释预测路径
这些可视化对于向没有机器学习技能的人解释为什么您的模型做出特定预测很有用。在explain_type=plain_english
的情况下,它在预测路径中搜索并找到特征值范围。
X = dataset[features].iloc[10]print(X)
Pclass 3.0
Age 4.0
Fare 16.7
Sex_label 0.0
Cabin_label 145.0
Embarked_label 2.0
print(explain_prediction_path(tree_classifier, X, feature_names=features, explanation_type="plain_english"))
2.5 <= Pclass
Age < 36.5
Fare < 23.35
Sex_label < 0.5
在explain_type=sklearn_default
(仅适用于scikit-learn)的情况下,我们可以仅可视化预测路径中涉及的特征的重要性。 特征的重要性是基于杂质的平均减少来计算的。
explain_prediction_path(tree_classifier, X, feature_names=features, explanation_type="sklearn_default")
此外我们还可以自定义颜色,比如:
dtreeviz.trees.dtreeviz(regr,boston.data,
boston.target,
target_name=price,
feature_names=boston.feature_names,
colors={scatter_marker: #00ff00})
到此这篇关于python工具dtreeviz决策树可视化和模型可解释性的文章就介绍到这了,更多相关python工具dtreeviz内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。