一、决策树概念:本质是一棵树
结构分:【叶子节点(预测结果)】 和 【非叶子节点:内部节点(划分属性----特征)】
可以看做一个if-then规则的集合。我们从决策树的根结点到每一个都叶结点构建一条规则。
如:
数据:
决策树:
(图出自《机器学习》周志华)
属性划分可以选取任意一个特征来当作第一个划分的属性,如上图,第一个内部节点选取的是【纹理】这个特征.
但随便选取划分属性效率太低,所以,如何选取划分属性是决策树算法的关键。
所以,能最快的划分出叶子节点,使用尽量少的属性划分最好。
所谓分裂属性就是在某个节点处按照某一特征属性的不同划分构造不同的分支,其目标是让各个分裂子集尽可能地“纯”。尽可能“纯”就是尽量让一个分裂子集中待分类项属于同一类别。
根据不同的划分算法(判断“纯”的方法不同),可以分为ID3算法,C4.5算法以及CART算法。
《机器学习实战》决策树章节主要讲ID3算法。
二、ID3算法
在我们的ID3算法中,我们采取信息增益这个量来作为纯度的度量。我们选取使得信息增益最大的特征进行分裂。
信息熵是代表随机变量的复杂度(不确定度)通俗理解信息熵 - 知乎专栏,条件熵代表在某一个条件下,随机变量的复杂度(不确定度)通俗理解条件熵 - 知乎专栏。
信息增益=信息熵-条件熵
当前样本集合 D 中第 k 类样本所占的比例为 pk ,y是分类的数目,则 D 的信息熵定义为
•离散属性 a 有 V 个可能的取值 {a1,a2,…,aV};样本集合中,属性 a 上取值为 av 的样本集合,记为 Dv。
•用属性 a 对样本集 D 进行划分所获得的“信息增益”
•信息增益表示得知属性 a 的信息而使得样本集合不确定度减少的程度