Python学习-机器学习实战-ch03 Decision Tree_Part2

前一篇文章主要讲述了第三章的前部分,主要是决策树的算法实现部分

这一部分,因为篇幅较长,我们单独将他们分出来。包括:决策树可视化和分类预测


=======================================================================

matplotlib的文本注释绘制树节点

使用了Matplotlib中的annotate工具

import matplotlib.pyplot as plt

decisionNode=dict(boxstyle="sawtooth",fc="0.8")
leafNode=dict(boxstyle="round4",fc="0.8")
arrow_args=dict(arrowstyle="<-")
#设置三种类型

def plotNode(nodeTxt,centerPt,parentPt,nodeType):
 #四个参数应该对应的的是:节点文本、中心坐标、父节点坐标、节点类型
    createPlot.ax1.annotate(nodeTxt,xy=parentPt,xycoords='axes fraction',xytext=centerPt,\
                            textcoords='axes fraction',va="center",ha="center",bbox=nodeType,\
                            arrowprops=arrow_args)

def createPlot():
    fig=plt.figure(1,facecolor='white')
    fig.clf()
    createPlot.ax1=plt.subplot(111,frameon=False)
    plotNode(U'决策节点',(0.5,0.1),(0.1,0.5),decisionNode)
    plotNode(U'叶节点',(0.8,0.1),(0.3,0.8),leafNode)
    #绘制两个节点
    plt.show()


节点文本没有显示出来


  • 获取叶子节点
方法与学习数据结构中的二叉树叶子节点的方法一样。只是决策树内一个节点有很多个分支
def getNumLeafs(myTree):
    numLeafs=0
    firstStr=list(myTree.keys())[0]
    #对于本例中的存储方式,k
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值