决策树

决策树

决策树-熵

P(X,Y)=P(X)*P(Y) X和Y两个事件相互独立 Log(XY)=Log(X)+Log(Y)
H(X),H(Y)当成它们发生的不确定性
P(几率越大)->H(X)值越小
P(几率越小)->H(X)值越大

  • 这里的P(i)指的就是事情发生的概率,也就是说内部越混乱,每一件事情发送的概率越低,熵就越大
    在这里插入图片描述
构造决策树的基本想法

是随着树深度的增加,节点的熵迅速地降低,熵减低地速度越快越好,这样才有望得到一个高度最矮的决策树

举个例子

在这里插入图片描述
从上面的数据可以看到,在没有给定任何天气信息时,根据历史数据,新的一天打球的概率为9/14,不打的概率为5/14,此时的熵为:-9/14log(2)9/14-5/14log(2)5/14=0.940

下面做一些划分

在这里插入图片描述
则当outlook=sunny时,entropy=0.971
outlook=overcast entropy=0
outlook=rainy entropy=0.971
所以当outlook取值为sunny,overcast,rainy的概率分别为5/14 4/14 5/14
所以当已变量为outlook,信息熵为:5/14×0.971+4/14×0+5/14×0.971=0.693

  • 这样的话系统熵就从0.940下降到了0.693,信息增益gain(outlook)为
    0.940-0.693=0.247
    同理可以计算的gain(temperature)=0.029;gain(humidity)=0.152;gain(windy)=0.048
    gain(outlook)最大(即outlook在第一步使系统的信息熵下降的最快),所以决策树的根节点 就选择了outlook
  • 存在的缺陷:如果以每一次的活动id决定来作为14个分支节点,算出来熵为0,则信息增益最大化,那么此时可以是不行的,因为id与是否决定活动没有任何关系,所以引入“信息增益率
  • C4.5:信息增益率=信息增益/自身的熵值。即如果自身的熵值非常大,也就是说不纯度越高,那么信息增益率也越低
  • 评价函数:C(T)=∑(releaf) Nt·H(t)
    所有叶子节点的累加和,H(t)是每一个叶子节点的熵值
    (希望它越小越好,类似损失函数)

得到决策树之后,如何得到高度最矮的决策树

  • 预剪枝:就是当指定树的深度是3的时候,当达到指定深度时就停止,提前停止,防止过拟合
  • 后剪枝:当决策树构建好之后,通过评价函数来算剪裁效果,然后开始剪裁在这里插入图片描述

随机森林

  • Bootstraping:有放回的采样
  • Bagging:有放回采集n个样本一共建立分类器
  • 森林就是有多棵树可以用来测试数据并且得到结果,随机森林就是构建了多棵决策树,每棵决策树都能单独地执行自己的操作,最后的结果是所有的树统一在一起得出来的
  • 随机性体现在
    • 数据的选择上,构造每一棵树的时候并不是要把每一棵树都放进来,每次都要选取一定比例,并且是有放回的采样
    • 特征的选择

过拟合和欠拟合

看到一个有意思的说法:不是狗的模型说是狗是欠拟合,是狗的模型说不是狗是过拟合

  • 欠拟合:模型太简单无法抓住数据点与数据点之间的差异性
    在这里插入图片描述
  • 过拟合:真实值和预测值的差异太大
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值