四、决策树算法

决策树算法

决策树 (decision tree) 是一类常见的机器学习方法.以二分类任务为例,我们希望从给定训练数据集学得一个模型用以对新示例进行分类,这个把样本分类的任务,可看作对"当前样本属于正类吗?“这个问题的"决策"或"判定"过程.顾名思义,决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制.例如,我们要对"这是好瓜吗?“这样的问题进行决策时,通常会进行一系列的判断或"子决策"我们先看"它是什么颜色?”,如果是"青绿色”,则我们再看"它的根蒂是什么形态?",如果是"蜷缩",我们再判断"它敲起来是什么声音?",最后?我们得出最终决策:这是个好瓜.

在这里插入图片描述
官方来说决策树中的每个节点是一个属性测试,每个分支是属性输出,想要得到最终的结果之前就必须经历若干个子决策,层层递进,慢慢靠近判断最优的那个结果。
决策树分为分类树和回归树

熵entropy

信息熵,我的理解就是信息(变量)的不确定性,不确定性越大,则熵越大(0,1之间取值)
计算熵:
例如世界杯中的32只球队中每支球队最终获得冠军的概率分别为p1,p2,…p32,概率p的计算方式为T/D,T为某个球队(样本实例)的数量,T为样本总量,x为每一个样本实例
在这里插入图片描述
**

**

决策树归纳算法:

可以说,决策树算法中怎样选择结点是最重要的

ID3算法

我们知道熵越大,数据的不确定性越大,数据样本集越混乱,这样就不符合决策树分类的需求。所以,我们需求奔着减小熵的目的来选择分类的依据和分类的结果。
A为某一属性,D为样本集
同时在算法中为了衡量熵的变化,在这里引入信息增益(信息获取量)的概念,信息增益越大,就说明采取当前属性A为这一结点时分类所获取的信息量越多(获取的信息量化越大就说明这个属性A作为结点的位置越应该靠近根节点)
Gain(A) = Info(D) - Info_A(D) [***没有A属性/结点的信息量-有A属性/结点的信息量]
A为某一属性,D为样本集
在这里插入图片描述
有age的信息获取量
在这里插入图片描述
以上得出把age当做根节点,age包含3种:young,middle_aged,senior,这样age结点有3个分支之后,再用以上方法得出每个分支下的结点,但需要注意的是:如果某一个分支的分类结果全部一致就不用计算得出结点了(例如上图中的age的middle_aged分支的class全为是yes),重复若干次就得到了决策树。

其他的算法
C4.5,
Classification and Regression Tree(CART)
以上是算法这里不做详细说明
共同点:都是贪心算法(top-down approach 自上而下)
不同点:属性结点选择方法不同,ID3为information gain, C4.5:gain ratio, CART:gini index

处理连续型变量的属性(一个属性的可取值为连续的,每一个值都不同)的方法:离散化

避免过拟合:先剪枝,后剪枝

优点:直观,易于理解(一个树结构),小规模数据集有效
缺点:处理连续变量不好、类别较多时,错误增加的比较快、可规模应用性一般(大规模数据会增加算法复杂度)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值