决策树主要包括ID3、C4.5、CART三种主要的算法。这三种算法的思想是一致的,都是选择一个属性,对特征空间逐步细分,最后再剪枝。这三步用书上的原话说就是:特征选择,决策树的生成和剪枝。
1、特征选择
信息增益相当于“用这个特征分类”和“数据集本身混乱度”之间的互信息。我们倾向于选择能提供更大互信息的特征,这样意味着用该特征分类更有价值。
在ID3算法中,特征选择是使用了信息增益最大的特征作为节点特征。通过计算特征集中最大的信息增益来选择特征。
但是这样有一点不足,取值较多的特征,一般来说互信息也比较大。所以我们提出了信息增益比的概念。
C4.5算法与ID3的算法基本一致,只是使用信息增益比来代替信息增益。
而在CART算法中,这一想法又有了一些改变。
对于CART回归树,我们采用最小均方误差准则。遍历所有的输入变量和它的定义域,找到最优的特征值对(均方误差最小),然后做分类。
而CART分类树,我们定义了基尼指数(这个是用来衡量数据集的混乱程度,与信息熵类似),切分的方式与回归树类似,一次选择一个特征值对,找到分类后基尼系数最小的特征值对。
2、决策树的生成
一般决策树的生成都是特征选择-->划分特征空间的迭代过程,满足一定条件时结束生成。
这里的条件主要包括:子空间内数据点少,信息增益(信息增益比、基尼指数)小于指定阈值。
3、剪枝
剪枝是为了降低模型的复杂度,一般最小化损失函数。
损失函数由两部分构成,模型精确度项(信息增益,基尼指数等构成)和复杂度罚项。
CART考虑的因素比较多,还考虑了如何找到合适的参数。如果损失函数相同,选择模型复杂度最小的。