第4.1章:决策树(decision tree)_特征选择&决策树生成

来源

Lecture_04

本章视频

11_决策树算法、12_案例实战:使用sklearn构造决策树模型、13_集成算法与随机森林、14_案例实战:泰坦尼克获救预测

决策树概述

决策树属于非线性模型,可以用于分类,也可用于回归(CART才能回归)。它是一种树形结构,可以认为是if-then规则的集合,是以实例为基础的归纳学习。

  1. 基本思想是自顶向下,以信息增益(或信息增益比,基尼系数等)为度量构建一颗度量标准下降最快的树,每个内部节点代表对一个特征的测试(判断),直到叶子节点处只剩下同一类别的样本(理想状态)。
  2. 决策树组成:重要程度高的做根节点,或者说根节点的分类效果会比较好。非叶子节点就是决策的中间过程,每一个节点相当于对数据集进行了一次划分,当特征越多即节点越多的时候,数据就会被划分的越细。每个节点包含的样本集合根据特征测试的结果,被划分到子节点中,根节点则包含了样本的全集。叶子节点则是最终的决策结果。从根节点到每个叶子节点的路径对应了一个判定测试序列。所以决策树构成后,只需要将样本从根节点开始一层一层的进行判断,到达叶子结点就是决策的结果。按照决策过程中特征从上到下的顺序,我们也可以将特征的重要程度进行排序,这也就解释了为什么树模型有feature_importance这个参数了。
  3. 难点:如何进行特征的选择、切分(选哪个作为根节点,其次的节点又选择什么特征,特征该如何划分数据),也就是如何构造好一颗决策树,以及对决策树的修剪
  4. 三个重要的步骤:特征选择,决策树的生成以及决策树的剪枝。
    (1) 特征选择:常用的特征选择有信息增益,信息增益比,基尼(GINI)系数等。
    (2) 生成过程:通过计算信息增益或其它指标,选择最佳特征。从根结点开始,递归地产生决策树,不断的选取局部最优的特征,将训练集分割成能够基本正确分类的子集。
    (3) 剪枝过程:常用的剪枝策略主要有预剪枝与后剪枝。
  5. 对于连续值,可以进行离散化。即先对数据集进行排序,然后划分为两部分,一部分为yes一部分为no。至于在什么位置划分,可以遍历所有切分点根据信息增益率选择最好的切分点。
    在这里插入图片描述

一、特征选择

引入熵值

  1. 定义:衡量物体内部的混乱程度(随机变量的不确定性),熵值越高即越混乱(类别越不确定)。比如:义乌小商品市场混乱程度就高(熵值比较大),想要从中取一支铅笔的概率就比较低。如果去文具店买的话,就会容易许多。
  2. 一个例子 A 集 合 [ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 ] 、 B 集 合 [ 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 ] A集合[1,1,1,1,1,1,1,1,2,2]、B集合[1,1,1,1,1,2,2,2,2,2] A[1,1,1,1,1,1,1,1,2,2]B[1,1,1,1,1,2,2,2,2,2]
    我么希望经过一次决策后,得到的是A集合,他的熵值低(不确定性更低)
  3. 熵值计算公式  注:熵值公式的推导 H ( D ) = − ∑ k = 1 K P k ⋅ log ⁡ 2 ( P k ) H(D)=-\sum_{k=1}^{K} P_{k} \cdot \log _{2} (P_{k}) H(D)=k=1KPklog2(Pk)D表示当前的数据集合(要计算的数据集);K表示数据集中类别的个数
    P k \bm{P_{k}} Pk 表示整个数据集中取到第 k k k个类别的概率值(数据集有5个yes2个no,则分别为5/7和2/7),取值范围为[0,1], log ⁡ 2 ( P k ) \bm{\log _{2} (P_{k})} log2(Pk) 取值范围则是负无穷到0。由于 log ⁡ 2 ( P k ) \bm{\log _{2} (P_{k})} log2(Pk) 取值是负数,所以加上负号使得 H ( D ) \bm{H(D)} H(D)为正。
  4. 熵值的理解:可以将随机变量的不确定性,理解为“标签的纯度”,熵值低(纯度高)意味着在数据集里我们要分类的某一种类型占比很高。
    从计算公式可以得出:当数据集的类别越多时,我们得到的熵值将越大,即“纯度低”;如果概率值趋于0或者1,则 P k ⋅ log ⁡ 2 ( P k ) P_{k} \cdot \log _{2} (P_{k}) Pklog2(Pk)的值趋于0,即“纯度低”。
    举两个极端的例子(以二分类为例):(1)如果分类结果中A和B各占50%,那么意味着分类结果很失败,这无异于随机地乱猜,完全没起到分类效果, H ( D ) = − ( 1 2 log ⁡ 2 1 2 + 1 2 log ⁡ 2 1 2 ) = 1 H(D) =-\left(\frac{1}{2} \log _{2} \frac{1}{2}+\frac{1}{2} \log _{2} \frac{1}{2}\right) =1 H(D)=(21log221+21log2
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值