一棵决策树包含一个根结点、若干内部结点和若干个叶节点;叶结点对应决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集。从根结点到每个叶结点的路径对应一个判定测试序列。决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的分而治之的策略。
信息增益
一般而言,信息增益越大,意味着用属性来进行划分所获得的纯度提升越大。因此可以用信息增益来进行决策树的划分属性选择。
有ID3、C4.5、CART等算法。
- 先算出总的信息熵
- 再分别计算每个属性的信息增益
- 取信息增益最大的作为划分属性
- 然后对每个分支结点再进一步划分
剪枝处理
剪枝是决策树学习算法过拟合的一个解决手段。决策树很容易过拟合。
剪枝有预剪枝和后剪枝。预剪枝是指再决策树生成过程中,对每个结点再划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分,并将当前结点标记为叶结点。后剪枝是从训练集生成一颗完整的决策树,然后自底向上对非叶节点进行考察。
随机森林
以决策树为基学习器构建Bagging集成。
随机森林简单、容易实现、计算开销小,具有强大的性能。