开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第8天,点击查看活动详情
概念理解:特征,信息增益,信息增益比,基尼指数。
算法应用:ID3算法和CART算法。
例子能独立完成即可达标。
决策树
决策树是一种典型的分类方法:
首先对数据进行处理,利用归纳算法生成可读的规则和决策树, 然后使用决策对新数据进行分析。
决策树的表示
决策树的基本组成部分:决策结点、分支和叶子。
决策树中最上面的结点称为根结点。是整个决策树的开始。每个分支是一个新的决策结点,或者是树的叶子。每个决策结点代表一个问题或者决策。通常对应待分类对象的属性。每个叶结点代表一种可能的分类结果。
特征选择
特征选择在于选取对训练数据具有分类能力的特征。这样可以提高决策树学习的效率。如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的。经验上扔掉这样的特征对决策树学习的精度影响不大。通常特征选择的准则是信息增益或信息增益比。
熵
熵:信息量大小的度量,即表示随机变量不确定性的度量
熵的理论解释:设X是一个取有限个值的离散随机变量,其概率分布为:
则随机变量X的熵定义为:
对数以2为底或以e为底(自然对数),这时熵的单位分别称作比特(bit)或纳特(nat)。
熵越大,随机变量的不确定性越大:
条件熵
设有随机变量(X,Y),其联合概率分布为:
条件熵H(Y|X):表示在己知随机变量X的条件下随机变量Y的不确定性,定义为X给定条件下Y的条件概率分布的熵对X的数学期望:
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵和经验条件熵
信息增益
信息增益表示得知特征X的信息而使得类Y的信息不确定性减少的程度。
信息增益定义:特征A对训练数据集D的信息增益,g(D,A), 定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即g(D,A)=H(D)-H(D|A)
—般地,熵H(Y)与条件熵H(Y|X)之差称为互信息(mutual information),决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
根据信息增益准则的特征选择方法是:对训练数据集(或子集) D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。
信息增益算法
信息增益例题
信息增益比
信息增益比定义:特征A对训练数据集D的信息增益比定义为信息增益与训练数据集D关于特征A的值的熵之比
ID3算法
ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。
**==具体方法==**是:从根结点(root node)开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树,直到所有特征的信息增益均很小或没有特征可以选择为止。最后得到一棵决策树。ID3相当于用极大似然法进行概率模型的选择。
CART树
当目标变量是类别的,生成的是分类树,特征选择用基尼指数最小化准则
当目标变量是连续的,生成的是回归树,特征选择用平方误差最小化准则
由于考试只要求手算分类树,就不过多介绍回归树了
基尼指数
分类问题中,假设有K个类,样本点属于第k类的概率为pk,则概率分布的基尼指数定义为:
对于二分类问题,若样本点属于第1个类的概率是p,则概率分布的基尼指数为
对于给定的样本集合D,其基尼指数为
Ck是D中属于第k类的样本子集,K是类的个数
基尼指数Gini(D)表示集合D的不确定性,基尼指数Gini(D,A)表示经过A=a分割后集合D的不确定性。基尼指数值越大,样本集合的不确定性也就越大。
CART分类树生成算法
输入:训练数据集D,停止计算条件
输出:CART决策树
从根节点开始,递归对每个结点操作
1、设结点数据集为D,对每个特征A,对其每个值a,根据样本点对A=a的测试为是或否,将D分为D1,D2,计算A=a的基尼指数
2、在所有的特征A以及所有可能的切分点a中,选择基尼指数最小的特征和切分点,将数据集分配到两个子结点中。
3、对两个子结点递归调用1,2步骤
4、生成CART树
例题