决策树算法简介及其MATLAB、Pyhton实现

本文介绍了决策树的基本原理,包括ID3、C4.5和Hunt算法,讨论了其优缺点,并提供了MATLAB和Python实现决策树的指导。决策树是一种易于理解和实现的分类方法,但可能面临过拟合问题,可以通过调整参数如max_depth和min_samples_split来优化。
摘要由CSDN通过智能技术生成

目录

决策树原理概述

决策树的经典算法:ID3算法

改进:C4.5算法

Hunt算法

决策树的优缺点

MATLAB实现决策树分类算法

基于python实现决策树


决策树原理概述

  • 决策树通过把样本实例从根节点排列到某个叶子节点来对其进行分类。树上的每个非叶子节点代表对一个属性取值的测试, 其分支就代表测试的每个结果(yes no表示正类、负类);而树上的每个叶子节点均代表一个分类的类别,树的最高层节点是根节点。当所有叶子节点给出的分类结果都一样时,就结束生长,即已经可以判定样本的类别。

  • 根节点并没有什么实际的意义。

  • 简单地说,决策树就是一个类似流程图的树形结构,采用自顶向下的递归方式,从树的根节点开始,在它的内部节点上进行属性值的测试比较,然后按照给定实例的属性值确定对应的分支,最后在决策树的叶子节点得到结论。这个过程在以新的节点为根的子树上重复。直到所有新节点给出的结果一致或足以判断分类(我们可以设计一些规则来决定)。

上图是一个区分动物类型的例子。

  • 决策树其实很好理解。举个例子,它就像我们玩的猜谜底游戏。B向A提问,每次可以问不同的问题,而A只能回答是或不是,对或不对。通过多次发问,B越来越接近正确答案。这里,每个问题实际上就是非叶子节点的属性测试,是或者不是就是给出测试结果yes or no。如果一个谜底符合你所有问题(属性),得到答案一致,那么你一定能肯定这个谜底是什么。

  • 分类树——面向离散变量的决策树;回归树——面向连续变量的决策树。

  • 在决策树算法中,ID3 基于信息增益作为属性选择的度量,C4.5 基于信息增益比作为属性选择的 度量,CART 基于基尼指数作为属性选择的度量

  • 优点:速度快、准确性高,便于理解。因为决策树的每个分支出来测试属性都是有实际的意义的,不像KNN之类直接用距离度量,没有实际的物理含义。决策树也适用于高维度的数据,不需要任何领域知识和参数假设。

  • 缺点:对于各类别样本数量不一致的数据,信息增益偏向于那些具有更多数值的特征。容易过拟合。参见《模型过拟合及模型泛化误差评估》

决策树的经典算法:ID3算法

原则上讲,对给定的数据集,可构造的决策树数目达到指数级。但是由于算力优先,我们只能在一定条件下构造出具有一定准确率的较优的决策树。这些算法通常都是采用贪心策略,在选择划分数据的属性时,采取一系列局部最优决策来构造决策树。

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值