机器学习之决策树模型

决策树

1.什么是决策树:

一种通过决策条件将数据分为若干类的分类模型

2.关键知识点:

(1) 不确定性:

什么是不确定性?举个例子,明天有90%可能性下雨,那我们出门之前肯定是会拿上雨伞,这就叫对于拿伞的不确定性很低(言外之意就是确定要拿伞);明天有50%的可能性会下雨,那我们出门之前纠结到底要不要拿伞,这就叫对于拿伞的不确定性很高(言外之意就是纠结到底要不要拿伞)

(2) 好的特征:

决策树中什么是好的特征?就是通过使用该特征分类后,所有的样本都被准确的分为同一类

(3) 信息熵:

公式:
H = − ∑ i p i ∗ log ⁡ p i p i : 某 一 类 数 值 所 占 比 重 H = -\sum_{i}p_{i}*\log{p_{i}}\\ p_i:某一类数值所占比重 H=ipilogpipi:
例题:

给定一组数据{0,0,1,1,0,1,1,1}该数组的信息熵:

该数组中一共有8个元素,其中3个0,5个1,定义p_0=3/8,p_1=5/8
p 0 = 3 8 , p 1 = 5 8 H = − ( p 0 ∗ log ⁡ p 0 + p 1 ∗ log ⁡ p 1 ) = − ( 3 8 ∗ log ⁡ 3 8 + 5 8 ∗ log ⁡ 5 8 ) p_0 = \frac{3}{8},p1 = \frac{5}{8}\\ H = -(p_0*\log{p_0}+p1*\log{p_1}) = -(\frac{3}{8}*\log{\frac{3}{8}}+\frac{5}{8}*\log{\frac{5}{8}}) p0=83,p1=85H=(p0logp0+p1logp1)=(83log83+85log85)

备注:信息熵越大,不确定性就越大

(4) 信息增益:

公式:不确定的减少 = 原来的不确定性-分割后的不确定性
I G ( T , A ) = H ( T ) − H ( T ∣ A ) IG(T,A) = H(T) - H(T|A) IG(T,A)=H(T)H(TA)
备注:在其一状态一致时,增益越大表示H(T|A)越小,即H(T|A)的不确定性就越小,该状态的值就越确定。

3.详细讲解:

(1) 决策树是由节点和边来组成在这里插入图片描述

(2) 一颗决策树与对应的决策边界

在这里插入图片描述

(3) 例题:

TIMEMATCH TYPEcourt surfaceBest EffortOutcome
MorningMasterGrass1F
AfternoonGrand slamClay1F
NightFriendlyHard0F
AfternoonFriendlyMixed0N
AfternoonMasterClay1N
AfternoonGrand slamGrass1F
AfternoonGrand slamHard1F
AfternoonGrand slamHard1F
MorningMasterGrass1F
AfternoonGrand slamClay1N
NightFriendlyHard0F
NightMasterMixed1N
AfternoonMasterClay1N
AfternoonMasterGrass1F
AfternoonGrand slamHard1F
AfternoonGrand slamClay1F

通过上述数据,希望通过决策树模型来预测比赛的结果

步骤1:计算每个特征的信息增益:
H ( F , N ) = − 11 16 ∗ log ⁡ 11 16 − 5 16 ∗ log ⁡ 5 16 (1) H(F,N) = -\frac{11}{16}*\log{\frac{11}{16}} - \frac{5}{16}*\log{\frac{5}{16}} \tag{1} H(F,N)=1611log1611165log165(1)

特征TIMEMorning:2个F;Afternoon:7个F,4个N;Night:2个F,1个N;
H ( F , N ∣ A ) = 2 16 H ( F , N ∣ M o r n i n g ) + 11 16 H ( F , N ∣ A f t e r n o o n ) + 3 16 H ( F , N ∣ N i g h t ) = 2 16 ∗ 0 + 11 16 ∗ ( − 7 11 ∗ log ⁡ 7 11 − 4 11 ∗ log ⁡ 4 11 ) + 3 16 ∗ ( − 2 3 ∗ log ⁡ 2 3 − 1 3 ∗ log ⁡ 1 3 ) (2) \begin{aligned} H(F,N|A) &= \frac{2}{16}H(F,N|Morning) + \frac{11}{16}H(F,N|Afternoon) + \frac{3}{16}H(F,N|Night)\\ &= \frac{2}{16}*0 +\frac{11}{16}*( -\frac{7}{11}*\log{\frac{7}{11}} - \frac{4}{11}*\log{\frac{4}{11}})+ \frac{3}{16}*(-\frac{2}{3}*\log{\frac{2}{3}} - \frac{1}{3}*\log{\frac{1}{3}}) \\ \end{aligned} \tag{2}\\ H(F,NA)=162H(F,NMorning)+1611H(F,NAfternoon)+163H(F,NNight)=1620+1611117log117114log114+16332log3231log31(2)

( 1 ) − ( 2 ) = − 11 16 ∗ log ⁡ 11 16 − 5 16 ∗ log ⁡ 5 16 + 7 16 ∗ log ⁡ 7 11 + 4 16 ∗ log ⁡ 4 11 + 2 16 ∗ log ⁡ 2 3 + 1 16 ∗ log ⁡ 1 3 ∴ 对 于 特 征 T I M E 的 信 息 增 益 = − 11 16 ∗ log ⁡ 11 16 − 5 16 ∗ log ⁡ 5 16 + 7 16 ∗ log ⁡ 7 11 + 4 16 ∗ log ⁡ 4 11 + 2 16 ∗ log ⁡ 2 3 + 1 16 ∗ log ⁡ 1 3 \begin{aligned} (1) - (2) = -\frac{11}{16}*\log{\frac{11}{16}} - \frac{5}{16}*\log{\frac{5}{16}} + \frac{7}{16}*\log{\frac{7}{11}} + \frac{4}{16}*\log{\frac{4}{11}} + \frac{2}{16}*\log{\frac{2}{3}} + \frac{1}{16}*\log{\frac{1}{3}}\\ \therefore 对于特征TIME的信息增益=-\frac{11}{16}*\log{\frac{11}{16}} - \frac{5}{16}*\log{\frac{5}{16}} + \frac{7}{16}*\log{\frac{7}{11}} + \frac{4}{16}*\log{\frac{4}{11}} + \frac{2}{16}*\log{\frac{2}{3}} + \frac{1}{16}*\log{\frac{1}{3}} \end{aligned} (1)(2)=1611log1611165log165+167log117+164log114+162log32+161log31TIME=1611log1611165log165+167log117+164log114+162log32+161log31

余下的特征也是同样的计算方式,大家可以自己尝试一下

最终我们会得到经过决策树模型分类后的结果
在这里插入图片描述

(4) 决策树的过拟合

1)什么时候可以停止分裂:当一个叶节点中包含的所有样本都属于同一个类别的时候可以停止;当一个叶节点中包含的所有样本的特征都一样时可以停止分裂
2)如何避免决策树的过拟合?1)设置树的最大深度;2)当叶子节点中的样本个数少于阈值时停止分裂;3)具体阈值选择多少取决于交叉验证的结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值