决策树 ID3算法

决策树定义

决策树分类算法属于以训练样本为基础的归纳学习算法。
所谓的归纳就是从特殊到一般的过程。归纳推理就是从若干个事实中表征出的特征 特性和属性中,通过比较 总结 概括的一个规律的结论。归纳学习的过程就是寻找一般性描述的过程,这种一般性描述能够解释给定的输入数据,并可以用来预测新的数据。

决策树

决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。
决策树分类算法的核心是构造决策树,而决策树的构造不需要任何领域和知识或参数设置,因此适合于探测式知识发现。另外,决策树可以处理高维数据,而简单快捷, 一般情况下具有很好的准确率,广泛应用于医学 金融 和天文学等领域的数据挖掘

  1. 一颗决策树有三类结点构成:根结点 内部结点(决策节点) 叶子结点。其中 根结点和内部结点是分类中的类标签的结合。
    图片:决策树 ID3算法_第1张图片
    如图:所示是一颗决策树的的示例 它先测试“ 1 ”属性,对应的示跟节点,当“ 1 ”属性符合到“ 2 ” 的规则时候,在对“ 2 ” 属性进行测试,以此类推。。。
  2. 实际上,一颗决策树是对于样本空间一种划分,根据各属性的取值把样本空间分成若干个子区域,在每个子区域中,如果某个类别的样本占优势,便将该子区域中所有的样本的类别标为这个类别
  3. 测试属性的选择顺讯会影响决策树的结构甚至决策树的准确率
  4. 关于停止划分样本:从跟节点测试属性开始,每个内部结点测试属性都把样本空间划分为若干个区域,一般当某个样本区域的样本同类时,就停止划分样本,有时候也通过阈值提前停止样本划分。

建立决策树的ID3算法

ID3 算法主要给出了通过信息增益的方式来选择测试属性。
ID3 算法以信息增益为度量,用于决策树结点的属性选择,每次有限选取信息量最多的属性,也即能使熵值变为最小的属性,以构造一颗熵值下降最快的决策树,到叶子结点处的熵值为0,此时,每个叶子结点对应的实例属于同一类

表 S :

编号 年龄 收入 学生 信誉 购买计算机
1 <=30
2 <=30
3 31~40
4 >40
5 >40
6 >40
7 31~40
8 <=30
9 <=30
10 >40
11 <=30
12 31~40
13 31~40
14 >40

(1)求数据集S中类别属性的无条件熵
E(购买计算机)=-(9/14)*log2(9/14)-(5/14)*log2(5/14)=0.940286
(2)求描述属性集合{年龄,收入,学生,信誉}中每个属性的信息增益,选取最大值的属性作为划分属性。
对于年龄属性:
年龄是否“<=30” 的元组为s1=5,其中类别属性取“是”时共有s11=2个元组,类别属性取“否”时共有s21=3个元组
年龄是否“31~40” 的元组为s2=4,其中类别属性取“是”时共有s12=4个元组,类别属性取“否”时共有s22=0个元组
年龄是否“>40” 的元组为s3=5,其中类别属性取“是”时共有s13=3个元组,类别属性取“否”时共有s23=2个元组
因此:E(购买计算机,年龄)=-[(2/5)*log2(2/5)+(3/5)*log2(3/5)] *(5/14)-[(4/4)*log2(4/4)] * (4/14)-[(3/5) * log2(3/5)+(2/5) * log2(2/5)] * (5/14) =0.693536
则:G(购买计算机,年龄) = 0.940284-0.693536=0.24675
同理:E(购买计算机,收入)=-[(3/4) * log2(3/4)+(1/4) * log2(1/4)] * (4/14) - [(4/6) * log2(4/6)+(2/6)log2(2/6)](6/14)-[(2/4)*log2(2/4)+(2/4)*log2(2/4)] * (4/14) = 0.911063
则:G(购买计算机,收入)=0.940286-0.911063=0.0292226
同理:
G(购买计算机,学生) = 0.151836
G(购买计算机,信誉) = 0.048127

通过比较,求的信息增益最大的描述属性为“年龄”,选取该描述属性来划分样本数据集S,构造决策树的根结点。

决策树 ID3算法_第2张图片

(3)求年龄属性取值为“<=30”的子树,描述属性集合为{收入,学生,信誉}
同上算法,比较求的信息增益最大的描述属性为“学生”。

决策树 ID3算法_第3张图片

(4)求年龄属性取值为“31~40”的子树。如表S 描述属性集合
为{收入,学生,信誉}, 其中全部类别属性值相同,该分支结束。决策树 ID3算法_第4张图片

(5)求年龄属性取值为“>40”的子树,通过比较选取最大的信息增益属性为“信誉”。最终图为:
决策树 ID3算法_第5张图片

ID3 算法的优点:算法的理论清晰,方法简单,学习能力较强。
ID3 算法的缺点:用信息增益作为分枝属性的标准,偏向于取值较多的属性;只能处理离散型属性,对比较小的数据集有效,且对噪声比较敏感;可能会出现过度拟合的问题。

你可能感兴趣的:(决策树 ID3算法)