0 写在前面

机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理;“广”在分析多个机器学习模型:决策树、支持向量机、贝叶斯与马尔科夫决策、强化学习等。

🚀详情: 机器学习强基计划(附几十种经典模型源码合集)

1 什么是剪枝?

剪枝(pruning) 是一种可以提高算法时间和空间效率的技巧,经过剪枝的算法在执行效率上远超一般未经剪枝的算法。有些算法甚至可以通过剪枝优化降低计算的时间复杂度等级,突破应用瓶颈。

剪枝算法主要分为三类

  • 可行性剪枝
    如当前状态和问题要求不符,并且可以推出从该状态往后的演变都不满足要求,那么就可以进行剪枝——该状态的搜索终止

  • 排除等效冗余
    当某几个枝桠可以证明具有完全相同的效果时,只选择其中一个,其他

  • 剪枝 (pruning)是 决策树 学习算法对付“过拟合”的主要手段。 决策树 剪枝 的基本策略有“ 剪枝 ”(prepruning)和“后 剪枝 ”(postpruning)。 剪枝 是指在 决策树 生成过程中,对每个结点在划分前先进行估计,若当前结点得划分不能带来 决策树 泛化性能提升,则停止划分并将当前结点标记为叶结点 后 剪枝 则是先从训练集生成一棵完整的 决策树 ,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来 决策树 泛化性能提升,则将该子树替换为叶结点。
    文章目录一、 决策树 模型二、选择划分2.1 信息熵和信息增益2.2 增益率2.3 基尼指数三、 剪枝 3.1 剪枝 3.2 后 剪枝 3.3 剪枝 示例3.4 剪枝 和后 剪枝 对比四、 Python 实现 一、 决策树 模型 决策树 (Decision Tree)是一种常见的 机器学习 算法,而其核心便是“分而治之”的划分策略。例如,以西瓜为例,需要判断一个西瓜是否是一个好瓜,那么就可以根据经验考虑“西瓜是什么颜色?”,...
    1. 为什么要 剪枝 还记得 决策树 的构造过程吗?为了尽可能正确分类训练样本,节点的划分过程会不断重复直到不能再分,这样就可能对训练样本学习的“太好”了,把训练样本的一些特点当做所有数据都具有的一般性质,从而导致过拟合。这时就可以通过 剪枝 处理去掉一些分支来降低过拟合的风险。 剪枝 的基本策略有“ 剪枝 ”(prepruning)和“后 剪枝 ”(post-pruning): 剪枝 是在 决策树 的生成过程中...
    决策树 剪枝 算法1、算法目的2、算法基本思路:3、 决策树 损失函数4、 剪枝 类型:4.1 剪枝 4.2 后 剪枝 4.3 两种 剪枝 策略对比 1、算法目的 决策树 剪枝 是为了简化 决策树 模型,避免过拟合。 同样层数的 决策树 ,叶结点的个数越多就越复杂;同样的叶结点个数的 决策树 ,层数越多越复杂。 剪枝 前相比于 剪枝 后,叶结点个数和层数只能更多或者其中一特征一样多, 剪枝 前必然更复杂。 层数越多,叶结点越多,分的越细致,对训练数据分的也越深,越容易过拟合,导致对测试数据 测时反而效果差,泛化能力差。 2、算法基本思路: