决策树ID3算法

本文摘录于http://www.jianshu.com/p/ed9ae5385b89


一句话概要,决策树算法的核心在于决策树的构建,每次选择让整体数据香农熵(描述数据的混乱程度)减小最多的特征,使用其特征值对数据进行划分,每次消耗一个特征,不断迭代分类,直到所有特征消耗完(选择剩下数据中出现次数最多的类别作为这堆数据的类别),或剩下的数据全为同一类别,不必继续划分,至此决策树构建完成,之后我们依照这颗决策树对新进数据进行分类。

决策树长什么样?


决策树算法较之于kNN算法一个很显著的不同在于,kNN算法需要持续使用全部的训练数据,而决策树算法经过训练构建出决策树之后,就不再需要将所有的训练样本保持在内存中了,这颗决策树就是在训练样本中抽象出来的模型。

香农(信息)熵用来描述数据的混乱度,混乱度越大熵越大,计算公式如下:


Pi指第i种数据在这个数据集中所占的比例。

定性理解,如果这个数据集中所包含的数据类别越少,它的熵也就越小(熵是正数,因为对数算出来的结果是负数)。

如果我们将这个数据集按照数据的某个特征(不是按数据类别分,因为我们做的是学习+预测,不是对训练样本分类)进行了分类,分成了多个小数据集,那整个数据集熵的计算公式如下:


我们需要知道按照这个特征分类过后,整个数据集的熵减少了多少,也就是信息增益是多少,计算公式如下:


信息增益越大,也就是我们对数据的分类越有效,整个数据集的熵减小的越多。

在整个数据集的基础上,挑选使熵减小最多的特征对数据集进行分类,将整个数据集按照上一步所选定的特征的特征值分成多个(可以超过2个)小数据集,然后对每个小数据集重复进行以上的操作,直到某个小数据集内部数据的数据类别全部相同,或者没有可以继续分类的特征了,这个时候我们把剩下的数据集里面出现最多的数据类别作为这个小数据集的类别。

然后我们就得到了一颗决策树,当需要处理新样本的时候,我们按照决策树对特征的使用顺序和新样本的各个特征值,逐步对这个样本进行分类,直到决策树的叶子节点处,最后这个叶子节点数据集的数据类别就是我们根据决策树算法所推断出来的新样本的数据类别。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注:题中所指的『机器学习』不包括『深度学习』。本篇文章以理论推导为主,不涉及代码实现。 前些日子定下了未来三年左右...
    我偏笑_NSNirvana阅读 40,292评论 12 145
  • 决策树理论在决策树理论中,有这样一句话,“用较少的东西,照样可以做很好的事情。越是小的决策树,越优于大的决策树”。...
    制杖灶灶阅读 11,164评论 0 25
  • 一.朴素贝叶斯 1.分类理论 朴素贝叶斯是一种基于贝叶斯定理和特征条件独立性假设的多分类的机器学习方法,所...
    wlj1107阅读 8,350评论 0 5
  • 机器学习是做NLP和计算机视觉这类应用算法的基础,虽然现在深度学习模型大行其道,但是懂一些传统算法的原理和它们之间...
    在河之简阅读 20,661评论 4 65
  • 今天偶尔看到别人在用哪个系列的化妆品,我就会觉得哇蛮好的我也要用。明天看到别人好读书过着诗情画意的生活就会想,我也...
    三彩张阅读 2,905评论 1 0