《机器学习实战》——决策树绘制分析

树如下:{‘no surfacing’: {0: ‘no’, 1: {‘flippers’: {0: {‘head’: {0: ‘no’, 1: ‘yes’}}, 1: ‘no’}}}}目标如下关于绘制过程中的配置参数就不说了,主要是这个绘制思路。首先是源代码的一些简单分析0. 注意这个地方看到是一个指回箭头,让我一开始还以为整个树是从下往上画的,其实是,每次作画时,是先画当前节点...
摘要由CSDN通过智能技术生成

树如下:
{‘no surfacing’: {0: ‘no’, 1: {‘flippers’: {0: {‘head’: {0: ‘no’, 1: ‘yes’}}, 1: ‘no’}}}}
目标如下
在这里插入图片描述
关于绘制过程中的配置参数就不说了,主要是这个绘制思路。
首先是源代码的一些简单分析

  1. 注意这个地方
    在这里插入图片描述
    看到是一个指回箭头,让我一开始还以为整个树是从下往上画的,其实是,每次作画时,是先画当前节点,再画上一层指向该节点的箭头(这么描述也许不对,实际上是干了一件事,就是画了一个箭头,起点是带文本的且带箭头,终点是不带文本和箭头的。)
    在这里插入图片描述
  2. 其实对于最顶层的“no surfacing”也是写了文本和箭头的,文本是空字符,而箭头的坐标和终点坐标相同。主要是为了递归设计的。
  3. 坐标计算! 这里就是最麻烦的了。
    首先需要计算整个树的特征(叶节点总数和深度),深度(D)用来规划y轴坐标,叶节点数(N)用来计算x坐标。
    老外在做这种计算的时候思路真的是跟我们不一样的, 我已经不知道吃过多次吃亏了。其实思路是这样的。
    0 → a 1 → a 2 → a 3 → a 4 → . . . → a n 0→a_1→a_2→a_3→a_4→...→a_n 0a1a2a3a4...an
    在坐标轴上按照均匀分布的放置结点,那么在放下 a N a_N
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值