【大数据开发基础】第八章分类数据挖掘


分类与预测问题是预测问题的两种主要的类型,分类主要是预测分类标号(基于离散属性的),而预测是建立连续值函数模型,预测给定自变量对应的因变量的值.

1 分类挖掘的基本流程

2 基于距离的分类算法

3 决策树分类方法

3.1 决策树的基本概念

  1. 决策树的每个内部节点表示在一个属性上的测试,其每个分支代表一个测试的输出
  2. 树的每个叶结点代表一个类别
  3. 决策树的生成包含两个过程:
    (1)树的建立
    (2)树的剪枝:识别并消除孤立点,以提高在未知数据上分类的准确性
  4. 决策树生成算法是一个贪心算法,采用自上而下、分而治之的递归方式来构造。
  5. 同一个属性可以出现在决策树的两个分支上
  6. 测试属性的选择是构建决策树的关键环节,不同的决策树算法在此使用的技术都不尽相同
  7. 在决策树算法中,所有属性均为符号值,即离散值,因此若有取连续值的属性,必须首先进行离散化
  8. 常见的决策树生成算法:CLS、ID3、C4.5、CART

3.2 决策树的生成算法

3.2.1 CLS

CLS算法的基本流程:
1) 生成一颗空决策树和一张训练样本属性集;
2) 若训练样本集T 中所有的样本都属于同一类,则生成结点T ,并终止学习算法;否则
3) 根据某种策略从训练样本属性表中选择属性A 作为测试属性, 生成测试结点A
4) 若A的取值为v1,v2,…,vm, 则根据A 的取值的不同,将T 划分成 m个子集T1,T2,…,Tm;
5) 从训练样本属性表中删除属性A;
6) 转步骤2, 对每个子集递归调用CLS。

  1. CLS存在的问题:在步骤3中,没有规定选择测试属性的标准和依据。而测试属性集的组成以及测试属性的先后对决策树的学习具有举足轻重的影响
  2. 选择节点属性是决策树学习算法中重要的研究课题。

3.2.2 ID3

  1. 主要解决了CLS算法中选择策略的问题。

  2. ID3算法主要针对属性选择问题而提出

  3. 在ID3算法中,选择具有最大信息增益(information gain)的属性作为当前划分节点

  4. 熵:表示信源的不确定性。
    在这里插入图片描述

  5. 信息熵代表信源整体的平均不确定性程度。信源的不确定性越大,熵越大

  6. 信息增益的计算:Gain(S, A)= Entropy(S) –Entropy(S, A)
    其中:
    Entropy(S) 是决策S初始的不确定性
    Entropy(S, A) 是收到A属性的信息后,决策S的不确定性
    Gain(S, A)是属性A对决策S的信息增益
    Gain(S, A)越大,说明属性A对降低决策S的不确定性起到的作用越大。

  7. ID3算法的基本思想是,以信息熵为度量,用于决策树节点的属性选择,每次优先选取信息量最多的属性,亦即能使熵值变为最小的属性,以构造一棵熵值下降(不确定性降低)最快的决策树,到叶子节点处的熵值为0。此时,每个叶子节点对应的实例集中的实例属于同一类

  8. ID3算法优点:算法简单,易于理解

  9. ID3算法缺点:
    (1)偏向条件属性中取值多的一个
    (2)只能处理离散属性
    (3)无法对未知条件属性进行处理
    (4)ID3算法不包括树剪枝,易受噪声和波动影响

例题:
训练数据集如下:
在这里插入图片描述
由上图可知共有两种决策,分别为yes和no。其中yes有9个元组、no有5个元组
初始不确定性: E n t r o p y ( S ) = − 9 14 ∗ l o g 9 14 − 5 14 ∗ l o g 5 14 = 0.940 Entropy(S)=-\frac{9}{14}*log\frac{9}{14}-\frac{5}{14}*log\frac{5}{14}=0.940 Entropy(S)=149log149145log145=0.940
接下来开始计算增加属性天气的信息后,决策的不确定性。
经分析:
天气=“晴朗”,[yes,no]=[2,3]
天气=“多云”,[yes,no]=[4,0]
天气=“雨天”,[yes,no]=[3,2]
E n t r o p y ( S , 天 气 ) = 5 14 ∗ ( − 2 5 ∗ l o g 2 5 − 3 5 ∗ l o g 3 5 ) + 4 14 ∗ ( − 4 4 ∗ l o g 4 4 − 0 4 ∗ l o g 0 4 ) + 5 14 ∗ ( − 3 5 ∗ l o g 3 5 − 2 5 ∗ l o g 2 5 ) = 0.694 Entropy(S,天气)=\frac{5}{14}*(-\frac{2}{5}*log\frac{2}{5}-\frac{3}{5}*log\frac{3}{5})+\frac{4}{14}*(-\frac{4}{4}*log\frac{4}{4}-\frac{0}{4}*log\frac{0}{4})+\frac{5}{14}*(-\frac{3}{5}*log\frac{3}{5}-\frac{2}{5}*log\frac{2}{5})=0.694 Entropy(S)=14552log5253log53+14444log4440log40+14553log5352log52=0.694
计算属性“天气”对消除决策的不确定性带来的信息增益:
G a i n ( S , 天 气 ) = E n t r o p y ( S ) – E n t r o p y ( S , 天 气 ) = 0.940 − 0.694 = 0.246 Gain(S, 天气)= Entropy(S) –Entropy(S, 天气)=0.940-0.694=0.246 Gain(S,)=Entropy(S)Entropy(S,)=0.9400.694=0.246
类似的过程,计算其他属性带来的信息增益:
G a i n ( S , 温 度 ) = 0.029 Gain(S,温度) = 0.029 Gain(S,)=0.029
G a i n ( S , 湿 度 ) = 0.151 Gain(S,湿度)=0.151 Gain(S,湿)=0.151
G a i n ( S , 风 力 ) = 0.048 Gain(S,风力)=0.048 Gain(S,)=0.048
G a i n ( S , 天 气 ) = 0.246 Gain(S,天气)=0.246 Gain(S,)=0.246
由于属性 “天气”具有最高的信息增益,因此被选出作为决策树的根节点。
根据“天气”属性的取值,划分分支。
按照相似的过程,在每个分支上选取相应的测试属性,直到分支上所有样本都属于同一类,或没有测试属性可选,决策树的生长过程结束。

3.2.3 C4.5

C4.5以二值离散的方式处理连续型数据:增益率代表增益,阈值导致的平均分配问题/信息增益选阈值,信息增益率选属性(MDL原理)

  1. ID3缺点1:偏向分割属性中取值多的一个。C4.5算法通过引入增益比例解决上述问题

原因:分割属性取值越多,每个值对应的子集规模越小。极限情况下,每个子集内只有一个单元(行),则它的信息增益必然最高(对不确定的消除达到最大)。

例如,用身份证号区别“是否相亲成功”,显然没有任何意义,但是确实符合ID3算法。

  1. ID3缺点2:只能处理离散分割属性。
    原因:对于连续属性,和缺点1类似。如果把连续值看作离散值,则会产生分割属性的偏向问题。
    C4.5解决方法:引入“阈值”,将分割属性化为 y i ≤ 阈 值 ; y i > 阈 值 y_i≤阈值;y_i>阈值 yiyi>
    在这里插入图片描述

  2. ID3缺点3:无法对未知分割属性进行处理
    原因:某分割属性Y的一个取值 y i y_i yi由于一些原因未被记录
    C4.5解决方法:对于数值型数据用平均值代替;对于离散型数据用概率法代替。

  3. ID3缺点4:无树剪枝,易受噪声和波动的影响
    C4.5解决方法:K阶交叉验证

3.2.4 CART分类回归树

  1. CART:使用基尼系数。CART构建的是二叉树。
  2. Gini指标用来度量数据划分或者数据集的不纯度 G i n i ( D ) = 1 − ∑ i = 1 m p i 2 Gini(D)=1-\sum_{i=1}^{m}{p_i}^2 Gini(D)=1i=1mpi2其中 p i p_i pi是D中样本属于 C i C_i Ci类的概率。Gini指标考虑每个属性上的二元划分

例题
在这里插入图片描述

3.2.5 ID3、C4.5、CART的比较

在这里插入图片描述

3.3 决策树剪枝

  1. 由于数据中存在许多噪声,许多分支反映的是训练数据中的异常。可通过剪枝来处理这种过拟合问题。
  2. 剪枝分为先剪枝和后剪枝
    先剪枝:在完全正确分类训练集之前就停止树的生长
    后剪枝:由“完全生长”的树剪去子树
  3. 先剪枝最直接的方法:事先限定树的最大生长高度
  4. 后剪枝:找出“完全生长”的树,然后自底向上对非叶子结点进行考察,若该结点对应的子树用叶结点能带来决策树性能的提升,则将该子树替换为叶结点
  5. 后剪枝有三类:悲观剪枝、降低分类错误率剪枝、最短描述长度原则剪枝
  6. 悲观剪枝:通过比较剪枝前后该结点的错误率来决定是否进行剪枝。不需要使用剪枝集,通过加入一个惩罚因子来调解从训练集得到的误差率
  7. 悲观剪枝的缺点
    (1)由于所有前件都有被移除的可能,所产生的规则不一定都能被还原成一棵紧凑的树
    (2)数据集规模的增大,时间成本增加(适用于较小规模数据集)
  8. 降低分类错误率剪枝:需要独立于训练集的剪枝集。
    目标:在剪枝集上的新树能得到较小或相等的分类误差
  9. 最短描述长度原则剪枝:基本思想是“最简单的解是首选”

3.4 提取分类规则

  1. 从决策树的根节点到任一个叶节点所形成的一条路径构成一条分类规则

4 贝叶斯分类方法

朴素贝叶斯分类是基于各类别相互依赖这一假设来进行分类计算的,其与决策树相同,返回的是样本所属各个类别的概率,哪个最大,就认为此待分类属于哪个类别。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值