如何利用剪枝方法设计更好的决策树

译文
人工智能 机器学习
决策树(DT)是一种有监督的机器学习算法,用于解决分类和回归问题。以下了解一下如何使用剪枝(Pruning)方法设计一个决策树。

决策树(DT)是一种有监督的机器学习算法,用于解决分类和回归问题。以下了解一下如何使用剪枝(Pruning)方法设计一个决策树。

决策树分析是一种通用的、预测性的机器学习建模工具。它是机器学习最简单、最有用的结构之一,通过使用一种根据不同条件拆分数据集的算法方法构建了决策树。而决策树是监督学习中常用的功能性技术之一。

但在采用剪枝方法设计决策树之前,需要了解它的概念。

理解决策树

决策树是一种有监督的机器学习算法,用于解决分类和回归问题。决策树遵循一组嵌套的if-else语句条件来进行预测。由于决策树主要用于分类和回归,因此用于生长它们的算法称为CART(分类和回归树)。并且提出了多种算法来构建决策树。决策树旨在创建一个模型,通过学习从数据特征推断出的简单决策规则来预测目标变量的值。

决策树的每个节点代表一个决策。

在上图中,根节点是深度为零的决策树图的起点。然后是进行二叉决策的子节点/内部节点。最后,还有叶节点,用于对类别进行预测。

有助于构建决策树的算法旨在从变量及其属性中预测目标变量。决策树的结构是通过从根节点到分支的二叉序列进行分割的。内容要到达决策树中的叶节点,必须传递多个内部节点来检查所做的预测。

构建决策树时的假设

使用决策树时必须做出的一些假设是:

  • 整个训练集是根。
  • 最好有分类特征值。在构建决策树模型之前使用离散值。
  • 属性值用于递归分发记录。
  • 统计方法用于确定应将哪些属性放置为决策树的根节点或内部节点。

在决策树中使用乘积和(SOP)或析取范式表示。

一个类中的每个分支,从根到具有不同分支结尾的决策树的叶节点形成一个析取(和),同一个类则形成值的合取(乘积)。

为什么选择决策树?

决策树遵循与人类在现实生活中做出决策相同的过程,使其更易于理解。这对于解决机器学习中的决策问题至关重要。它普遍用于训练机器学习模型的原因是因为决策树有助于思考问题的所有可能结果。此外,与其他算法相比,对数据清理的要求更少。

但是,决策树也有它的局限性,那就是过拟合。

决策树中的过拟合

过拟合是决策树中的一个重要的难题。如果允许决策树增长到最大深度,它将总是过拟合训练数据。当决策树被设计为完美拟合训练数据集中的所有样本时,就会发生过拟合。因此,决策树最终会产生具有严格稀疏数据规则的分支,这会通过使用不属于训练集的样本来影响预测的准确性。决策树越深,决策规则序列就越复杂。而分配最大深度是简化决策树和处理过拟合的最简单方法。

但是如何以更精确的方式改进决策树模型呢?以下进行一下了解。

如何通过剪枝防止决策树中的过拟合?

剪枝是一种用于消除决策树中过拟合的技术。它通过消除最弱规则来简化决策树,可以进一步分为:

  • 预剪枝是指通过设置约束来限制决策树在早期阶段的生长。为此,可以使用超参数调整来设置min_samples_split、min_samples_leaf或max_depth等参数。
  • 在构建决策树之后使用后剪枝方法。当决策树变得非常深入并显示模型过拟合时使用它。为此,还将通过成本复杂性剪枝来控制决策树分支,例如max_samples_split和max_depth。

剪枝从一棵未剪枝的决策树开始。然后获取子树序列,通过交叉验证选择最佳的子树序列。

剪枝可以确保子树是最优的,这一点很重要,也就是说它具有更高的精度,并且最优子树搜索在计算上是易于处理的。因此,剪枝不仅应该减少过拟合,而且还应该使决策树比未剪枝的决策树更简单、更容易理解和更有效地解释,同时保持其性能。

结语

现在人们知道决策树属于一种有监督的机器学习算法。与其他监督学习算法相比,决策树也可用于解决分类和回归问题。

决策树用于构建模型,以基于从先前训练数据中得出的简单决策规则来预测变量值或类别。剪枝有助于决策树做出精确的决策,同时降低其复杂性并设置约束。

原文标题:How to Design a Better Decision Tree With Pruning,作者:Mahipal Nehra


责任编辑:华轩 来源: 51CTO
相关推荐

2022-10-19 11:33:07

决策树策略搜索

2019-05-15 09:00:00

决策树机器学习人工智能

2022-11-11 08:00:00

决策树机器学习监督学习

2012-08-06 09:04:01

决策树建模

2017-11-21 13:00:20

机器学习决策树可视化

2018-02-02 15:50:07

决策树Apache Spar数据

2016-09-30 16:12:47

GBDT算法决策树

2022-11-08 09:44:45

2022-12-21 14:39:35

机器学习案发决策树

2017-09-25 16:16:49

决策树随机森林机器学习

2021-01-12 18:40:58

基尼不纯度决策树机器学习

2017-12-12 12:24:39

Python决策树

2017-05-10 15:41:29

机器学习算法数据

2017-09-11 13:33:44

大数据数据可视化决策树

2017-07-18 16:25:31

机器学习算法决策树

2017-02-23 08:45:36

Python决策树数据集

2023-08-11 17:30:54

决策树机器学习算法

2014-07-07 10:05:57

机械学习

2017-08-04 14:28:40

决策树随机森林CART模型

2021-11-08 07:11:49

决策树数据分类器
点赞
收藏

51CTO技术栈公众号