首页 > 其他分享 >Chapter3 绘制决策树

Chapter3 绘制决策树

时间:2023-04-14 11:57:11浏览次数:33  
标签:plt 样式 Chapter3 dict 绘制 节点 决策树

绘制决策树


1. 概述

    我们在上个博客已经学会使用代码来构造决策树了。但是,为了让构造出来的决策树具有可读性,我们还需要绘制决策树。

2. 设定样式

# 该代码的作用是设定节点和箭头的样式
# 该代码位于treePlotter.py文件中

import matplotlib.pyplot as plt

'''
    在matplotlib中,dict函数用于定义文本框和箭头样式
    其中:boxstyle参数就代表文本框样式 fc代表颜色深度,fc越小,颜色越深
         arrowstyle参数代表箭头样式
'''
decisionNode = dict(boxstyle='sawtooth',fc='0.8')   # 决策节点的样式
leafNode = dict(boxstyle='round4',fc='0.8')     # 叶节点的样式
arrow_args = dict(arrowstyle='<-')              # 边的样式(箭头)

3. 使用annotations来绘制树节点

# 该函数的作用就是绘制树节点
# 该函数位于treePlotter.py文件中
def plotNode(nodeTxt,centerPt,parentPt,nodeType):
    # 这里的内容可以参见我的matplotlib博客:Chapter5 注解
sub_plot.annotate(nodeTxt,xy=parentPt,xycoords='axes fraction',xytext=centerPt,textcoords='axes fraction',
                 va='center',ha='center',bbox=nodeType,arrowprops=arrow_args)

4. 绘制子图并进行初步的显示

# 当frameon=True的时候, 图示会被绘制在一个patch实体上;
# 否则, 如果frameon=False, 则图示会被直接绘制在图片上.
# 这里, 讨论是否将图示绘制在一个patch实体上的意义在于,
# 当把它绘制在一个patch实体上时, 我们才可以使用facecolor, edgecolor, framealpha, fancybox等参数来设置图示的背景(不是图片的背景)的颜色, 边框颜色, 透明度, 以及形状,
# 而当frameon=False的时候这些参数就会失效.
# 以上内容来源于:https://blog.csdn.net/nankai0912678/article/details/109520614
def createPlot():
    fig = plt.figure(1,facecolor='white')
    fig.clf()
    global sub_plot
    sub_plot = plt.subplot(111,frame_on=False)    # 创建子图
    plotNode('decision Node',(0.5,0.1),(0.1,0.5),decisionNode)    # 绘制树节点
    plotNode('leaf Node',(0.8,0.1),(0.3,0.8),leafNode)            # 同上
    plt.show()

img

    我们学会了如何绘制节点后,接下来我们就来绘制整棵树。

标签:plt,样式,Chapter3,dict,绘制,节点,决策树
From: https://www.cnblogs.com/gao79135/p/17317863.html

相关文章

  • Chapter3 设置坐标轴
    Chapter3设置坐标轴importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(-3,3,50)y1=2*x+1y2=x**2plt.figure()plt.plot(x,y2)plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')#设置x轴的取值范围plt.xlim((-1,2))#设置y轴......
  • 小组进展-界面绘制完成
    今天,将界面基本绘制完成。余下将具体activity进行填入完善即可。界面展示: 主要通过fragment和activity进行切换,且可利用独立的activity直接填充,可完善功能。余下目标:对于功能页完善,下方为LISTVIEW展示数据,这周日前将出来核心拍照功能除外全部实现 ......
  • 小组界面基本绘制完成
     界面展示: 主要通过fragment和activity进行切换,且可利用独立的activity直接填充,可完善功能。 ......
  • 数据分享|R语言用RFM、决策树模型顾客购书行为的数据预测|附代码数据
    全文链接:http://tecdat.cn/?p=30330最近我们被客户要求撰写关于RFM、决策树模型的研究报告,包括一些图形和统计输出。团队需要分析一个来自在线零售商的数据该数据包含了78周的购买历史。该数据文件中的每条记录包括四个字段。客户的ID(从1到2357不等),交易日期,购买的书籍数量,以及......
  • 决策树可视化Graphviz中文乱码
    输出svg时中文显示正常!!!fromsiximportStringIO#可视化dot_data=StringIO()tree.export_graphviz(clf,out_file=dot_data,feature_names=feature_name,class_names=target_name,filled=True,rounded=True,special_characte......
  • iOS开发-聊天气泡的绘制和聊天消息列表
    iOS开发中什么最重要?流媒体?即时通讯?还是其他什么技术?其实都不是,最重要的东西诚然只是iOS的基础,比如画一个按钮,封装一个控件,扩展一个类等等。这些东西看似简单,实则很难,所有的技术都基于这些最基础的东西,今天要说的是聊天气泡的绘制,和做一个简单的聊天列表:这里绘制了三种聊天气泡:1.......
  • 基于elementui的Tree虚线,实线绘制,以及懒加载,如图
     加减号用的是阿里的矢量图标库。自行去下载 路径:https://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2 <template><divclass="content-box"><divclass="content-top-lable">系统设置</div><divstyle="padd......
  • 决策树
    决策树是用二叉树形图来表示处理逻辑的一种工具。可以直观、清晰地表达加工的逻辑要求。特别适合于判断因素比较少、逻辑组合关系不复杂的情况。决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法。比如,在贷款申请中,要对申请的风险大小做出判断,图是为了解决这......
  • 移动端,cavans和svg绘制进度图
    先看效果:起初是用cavans绘制的结果会模糊,倍数绘制再缩小也是模糊,最后换成了svg绘制:cavans:global.progressChart={template:`<divclass="process-chart-box"><canvasid="progressChart">当前浏览器不支持canvas</canvas><imgsrc......
  • MFC-FrameRect绘制矩形边框
     HDChdc=::GetDC(m_hWnd);RECTrect={10,10,50,100};HBRUSHhbr;hbr=CreateSolidBrush(RGB(255,0,0));intf=FrameRect(hdc,&rect,hbr);//绘制矩形边框/*参数1:HDChdc将要画边框的设备环境句柄参数2:CONSTRECT......