决策树构建之ID3算法

本文介绍了决策树的基本概念,包括根结点、内部结点和叶结点,并详细讲解了ID3算法的决策树构建过程。通过信息增益作为属性选择的标准,讨论了熵和信息增益的计算方法,并给出了一个实例来展示如何根据信息增益选择划分属性。最后,提供了Python代码示例和Weka生成的决策树例子。
摘要由CSDN通过智能技术生成

        决策树是一种可以对数据集进行分类的树,它要求数据集中每个属性的可能取值都是离散的。决策树中包含3种结点:

       根结点,它没有入边,只有零条或多条出边。

        内部结点,它有一条入边和两条或多条出边。

        叶结点,有一条入边,但没有出边。

        在决策树中,每个叶结点都包含一个类标号。换句话说,每个叶节点都是已经被分好的类。根结点和内部结点表示在一个属性上的测试,每一条出边都代表该测试的一个输出。对于给定的一个类标号未知的元组X,由根结点开始对元组X的每一条属性进行测试,形成一条从根结点到叶结点的路径,该叶结点所包含的类标号就是元组X的类标号。

        常用的决策树算法有ID3,C4.5和CART等,本文主要介绍ID3(IterativeDichotomiser 3,迭代二分器3代)。C4.5是ID3算法的后继,它们在属性选择度量上有所不同,CART则是只产生二叉决策树。它们在训练元组学习决策树时都是采用分治法,自顶向下递归的构造决策树。决策树的递归构造算法描述如下:

1.     创建一个结点N并选择一个属性A放在其中,属性A每个可能的取值都有一个分支。

2.     将数据集根据A的可能取值分成许多子集,每一个分支对应一个子集。

3.     对于结点N的每一个子结点重复上述步骤,直到分支对应的子集中的所有记录都属于同一类或所有属性都已被放入结点中。

        接下来,我们便要考虑如何选择放入结点中的属性A。对于同一个数据集来说,选择不同的划分属性,得到的树的形状与深度也是不一样的。本文主要介绍ID3算法使用的信息增益度量方法。

        信息增益的衡量标准就是看属性能够给分类系统带来多少信息,带来的信息越多,该属性越重要,在决策树中就应该先被选择。信息增益基于香农提出的“熵“的概念。熵被定义为离散随机事件的发生概率。较高的熵代表较高的不确定性,反之较低的熵代表较低的不确定性。

        对数据集D中元组进行分类所需要的期望信息,也即数据集D的熵为:

 

        其中pi中任意元组属于类Ci的概率,计算方法为属于类Ci的元组数除以D中元组总数。 表示对整个数据集中每个元组进行准确分类(即每个分区的类标号都相同)所需要的平均信息。假设现在我们按照某个属性A对数据集D进行划分,属性A的可能取值有{a1,a2,...av}且是离散的,属性A可将数据集D划分为{D1,D2,...,Dv}。那么在用属性A对数据集D进行划分后,我们对D中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值