一、树剪枝概述
1.什么是剪枝?
通过降低决策树的复杂度来避免过拟合的过程称为剪枝。
2.为什么要剪枝?
决策树算法在学习的过程中为了尽可能正确的分类训练样本,不停地对结点进行划分,因此这会导致整棵决策树的分支过多,也就导致了过拟合。所以我们可通过“剪枝”来一定程度避免因决策分支过多,以致于把训练集自身的一些特点当做所有数据都具有的一般性质而导致的过拟合。
2.剪枝的基本策略:
- 预剪枝:预剪枝就是在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点记为叶结点,其类别标记为该节点对应训练样例数最多的类别。
- 后剪枝:后剪枝就是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行分析计算,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
二、预剪枝
1.数据集: