天天看点

读书笔记(4) |决策树绘制函数介绍

1

基本思想

第二期推文中我们巳经介绍了如何从数据集中创建树,我们是用字典类型来存储决策树的,然而字典的表示形式非常不易于理解,决策树的主要优点就是直观易于理解,如果不能将其直观地显示出来,就无法发挥其优势。鉴于Python 并没有提供绘制树的工具,本期我们将介绍使用Matplotlib库来创建树形图。Matplotlib库是Python优秀的数据可视化第三方库,下面我们通过具体的算法实现来感受Matplotlib库的绘图魅力。

2

算法实现

1.获取决策树的叶节点数和树的层数

为保证绘制的决策树具有美观的比例和位置,我们必须要知道叶节点数和树的层数,以便正确确定x轴与y轴的长度。

【求叶子节点数】

读书笔记(4) |决策树绘制函数介绍

【求树的层数】

读书笔记(4) |决策树绘制函数介绍

【打印结果】

读书笔记(4) |决策树绘制函数介绍

运行结果(python3):

读书笔记(4) |决策树绘制函数介绍

2.图示决策树

读书笔记(4) |决策树绘制函数介绍
读书笔记(4) |决策树绘制函数介绍
读书笔记(4) |决策树绘制函数介绍
读书笔记(4) |决策树绘制函数介绍

函数说明 —— annotate

可以在数据图形上添加文本注释,内嵌支持带箭头的划线工具,使得可以在其他恰当的地方指向待注释内容。

annotate参数说明:

①xy箭头尖端坐标,即待注释的位置坐标

②xytext注释位置的坐标

③xycoords被注释点的坐标系属性,参数如下

figure points—— 以绘图区左下角为参考,单位是点数

figure pixels—— 以绘图区左下角为参考,单位是像素数

figure fraction—— 以绘图区左下角为参考,单位是百分比

axes points —— 以子绘图区左下角为参考,单位是点数(一个figure可以有多个axex,默认为1个)

axes pixels—— 以子绘图区左下角为参考,单位是像素数

axes fraction ——以子绘图区左下角为参考,单位是百分比

data ——以被注释的坐标点xy为参考 (默认值)

polar——不使用本地数据坐标系,使用极坐标系

④extcoords注释文本的坐标系属性,默认与xycoords属性值相同,也可设为不同的值。除了允许输入xycoords的属性值,还允许输入以下两种:

offset points 相对于被注释点xy的偏移量(单位是点)

offset pixels  相对于被注释点xy的偏移量(单位是像素)

⑤arrowprops 箭头参数,参数类型为字典dict

width ——点箭头的宽度

headwidth——箭头底座的宽度

headlength—— 点箭头的长度

shrink——箭头总长度从两端收缩的百分比

facecolor ——箭头颜色

⑥bbox给标题增加外框 ,常用参数如下:

boxstyle方框外形

facecolor(简写fc)背景颜色

edgecolor(简写ec)边框线条颜色

edgewidth边框线条大小

读书笔记(4) |决策树绘制函数介绍

函数说明 —— text

读书笔记(4) |决策树绘制函数介绍

text语法: text(x,y,string,fontsize=15,verticalalignment="top",horizontalalignment="right")

①x,y:表示坐标点

②string:表示注释文字

③fontsize:表示字体大小

④verticalalignment:垂直对齐方式 

参数:[ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ]

⑤horizontalalignment:水平对齐方式 

参数:[ ‘center’ | ‘right’ | ‘left’ ]

  boxstyle方框外形

  facecolor(简写fc)背景颜色

  edgecolor(简写ec)边框线条颜色

  edgewidth边框线条大小

读书笔记(4) |决策树绘制函数介绍

函数说明 —— plot

读书笔记(4) |决策树绘制函数介绍

plot语法:

plot(x, y, color='green', marker='o', linestyle='dashed',linewidth=2, markersize=12)

①    color:绘图颜色

②    marker:绘图符号

③    linestyle:线型

④    linewidth:线宽

⑤    markersize:绘图符号大小

读书笔记(4) |决策树绘制函数介绍
读书笔记(4) |决策树绘制函数介绍
读书笔记(4) |决策树绘制函数介绍
读书笔记(4) |决策树绘制函数介绍
读书笔记(4) |决策树绘制函数介绍