C45决策树构建过程(各个函数调用过程)

这里写图片描述
C45决策树从J48.Java文件中的buildClassifer函数开始,主要分为三份部分:
1。调用C45PruneableClassifierTree(或者BinC45PruneableClassifierTree)中的buildClassifier函数构建决策树。C45PruneableClassifierTree和BinC45PruneableClassifierTree两个类都是继承ClassifierTree类的,所以最终都是用ClassifierTree类中的buildTree函数构建决策树的(只是其中的一些参数有些不同)。决策树构建过程如图中的第3步到第7步所示。
2.构建好决策树后,需要对树进行坍塌处理。也就是,从决策树的根节点开始,如果某该节点存在很多孩子节点,但这些孩子节点并不能提高这颗分类树的准确度,则把这些孩子节点删除。否则在每个孩子上递归的坍塌。这样可以减少树的深度,提高效率。主要过程如图中的第8至第10步所示。
3.对构建好的决策树进行后剪枝。剪枝函数Prune是递归地找到第一个可以剪枝的节点,根据Prune函数中的两个条件判断(具体在Prune函数代码中)是将当前结点作为叶节点好还是将最大子树代替当前节点,依次递归下去。
注:由于测试时的数据是用C45PruneableClassifierTree类构建决策树的,所以图中显示的都是C45PruneableClassifierTree类中的函数,若是用BinC45PruneableClassifierTree类构建树的数据,则相应位置则为BinC45PruneableClassifierTree,BinC45PruneableClassifierTree类构建树和C45PruneableClassifierTree类构建树有细微的不同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值