sklearn决策树结果可视化

《老饼讲解机器学习》icon-default.png?t=N7T8https://www.bbbdata.com/text/95

目录

一.代码

二.运行结果


sklearn中,训练完决策树后,将决策树可视化,更容易帮助我们了解模型的训练结果。

决策树图形化 需要先通过pip安装graphviz包: pip install graphviz

仍然使用《分类:一个简单的决策树例子》中的例子:

一.代码

from sklearn.datasets import load_iris
from sklearn import tree
import graphviz 

#----------------数据准备----------------------------
iris = load_iris()                          # 加载数据

#---------------模型训练----------------------------------
clf = tree.DecisionTreeClassifier()         # sk-learn的决策树模型
clf = clf.fit(iris.data, iris.target)       # 用数据训练树模型构建()
r = tree.export_text(clf, feature_names=iris['feature_names'])
dot_data = tree.export_graphviz(clf, out_file=None, 
                     feature_names=iris.feature_names,  
                     class_names=iris.target_names,  
                      filled=True, rounded=True,  
                      special_characters=True)  
graph = graphviz.Source(dot_data)  
graph   #显示图形。(如果没显示,则需要独立运行这一句)
#graph.render("iris") #将图形保存为iris.pdf文件。
#graph.view()        # 直接打开pdf文件展示

备注:

(1)如果报错 failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH,请查看《运行graphviz报错解决方案

(2)如果没显示以下图形,则独立运行最后一句 graph

二.运行结果

通过图形化,我们可以清晰的看到:

初始根节点有150个样本,每个类别各有50个样本。gini系数为0.667,节点属于setosa类别 。
根节点以petal_length<=2.45划为左节点,共50个样本,全部第1类。该节点极纯,gini系数为0。 根据这50个样本所属类别,该节点被判为setosa.
根节点petal_length>2.45划为右节点,共100个样本,2类和3类各50个。该节点gini系数为0.5(即随便抽两个样本,属于不同类别的可能性为0.5)。根据这100个样本,该节点被判为versicolor类。

画出图后,可以清晰看到整个树的构建过程和树最后的结构,便于我们分析模型和模型优化。 

《老饼讲解机器学习》icon-default.png?t=N7T8https://www.bbbdata.com/text/95

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值