【机器学习基础】让人惊艳的决策树可视化

 本文目标

本文的目标是引入dtreeviz来可视化分类决策树,比scikit-learn包自带的可视化效果更好。我们将在Scikit学习使用iris数据集学习决策树教程。

请注意,如果我们使用决策树进行回归,可视化效果会有所不同。

             

 scikit-learn和dtreeviz可视化对比

             

 

前期准备

首先使用pip或conda命令安装模块,如下所示。

pip install dtreeviz
pip install graphviz #这个包需要下载安装,并配置对应的变量环境

 

加载数据集

import numpy as np
from sklearn.datasets import load_iris, load_boston
from sklearn import tree




iris = load_iris()
df_iris = pd.DataFrame(iris['data'], columns=iris['feature_names'])
df_iris['target'] = iris['target']
df_iris.head()

sepal   length (cm)

sepal width (cm)

petal length (cm)

petal width (cm)

target

5.1

3.5

1.4

0.2

0

4.9

3

1.4

0.2

0

4.7

3.2

1.3

0.2

0

4.6

3.1

1.5

0.2

0

5

3.6

1.4

0.2

0

 

训练决策树

# Train the Decision tree model
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)

 

可视化决策树

Scikit-learn

import graphviz 
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 

 

             

dtreeviz

from dtreeviz.trees import dtreeviz
viz = dtreeviz(clf,
               iris['data'],
               iris['target'],
               target_name='',
               feature_names=np.array(iris['feature_names']),
               class_names={0:'setosa',1:'versicolor',2:'virginica'})
              
viz

             

 

通过上面的对比,发现Treeviz的可视化会更好

你可以在每个节点上看到每个类的分布

你可以看到每个分割的决策边界在哪里

你可以看到每片叶子上的样品大小与圆的大小相同

原文名称:How to visualize a decision tree beyond scikit-learn

原文链接:https://h1ros.github.io/posts/how-to-visualize-a-decision-tree-beyond-scikit-learn/


往期精彩回顾



适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑
获取本站知识星球优惠券,复制链接直接打开:
https://t.zsxq.com/qFiUFMV
本站qq群704220115。

加入微信群请扫码:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值