什么是机器学习中的决策树?
已发表: 2024-08-14决策树是数据分析师机器学习工具包中最常用的工具之一。在本指南中,您将了解什么是决策树、它们是如何构建的、各种应用程序、优点等等。
目录
- 什么是决策树?
- 决策树术语
- 决策树的类型
- 决策树如何工作
- 应用领域
- 优点
- 缺点
什么是决策树?
在机器学习 (ML) 中,决策树是一种类似于流程图或决策图的监督学习算法。与许多其他监督学习算法不同,决策树可用于分类和回归任务。数据科学家和分析师在探索新数据集时经常使用决策树,因为它们易于构建和解释。此外,决策树可以帮助识别重要的数据特征,这些特征在应用更复杂的机器学习算法时可能有用。
决策树术语
在结构上,决策树通常由三个组件组成:根节点、叶节点和决策(或内部)节点。就像其他领域中的流程图或树一样,树中的决策通常沿一个方向(向下或向上)移动,从根节点开始,经过一些决策节点,最后到特定的叶节点。每个叶节点将训练数据的子集连接到标签。该树是通过机器学习训练和优化过程组装而成的,构建完成后,它可以应用于各种数据集。
以下是对其余术语的更深入探讨:
- 根节点:包含决策树将询问的有关数据的一系列问题中的第一个问题的节点。该节点将连接到至少一个(但通常是两个或多个)决策节点或叶节点。
- 决策节点(或内部节点):包含问题的附加节点。决策节点将恰好包含一个有关数据的问题,并根据响应将数据流定向到其子节点之一。
- 子节点:根节点或决策节点指向的一个或多个节点。它们代表决策过程在分析数据时可以采取的后续选项列表。
- 叶节点(或终端节点):指示决策过程已完成的节点。一旦决策过程到达叶节点,它将返回叶节点的值作为其输出。
- 标签(class、category):通常是由叶节点与一些训练数据关联的字符串。例如,叶子可能会将“满意的客户”标签与决策树 ML 训练算法所呈现的一组特定客户相关联。
- 分支(或子树):这是由树中任意点的决策节点及其所有子节点及其子节点(一直到叶节点)组成的节点集。
- 修剪:通常对树执行的优化操作,以使其更小并帮助其更快地返回输出。剪枝通常指的是“后剪枝”,它涉及在机器学习训练过程构建树后通过算法删除节点或分支。 “预剪枝”是指对决策树在训练过程中可以生长的深度或大小设置任意限制。这两个过程都强制执行决策树的最大复杂性,通常通过其最大深度或高度来衡量。不太常见的优化包括限制决策节点或叶节点的最大数量。
- 分裂:训练期间在决策树上执行的核心转换步骤。它涉及将根或决策节点划分为两个或多个子节点。
- 分类:一种机器学习算法,尝试找出最有可能应用于一段数据的算法(从恒定且离散的类、类别或标签列表中)。它可能会尝试回答诸如“一周中的哪一天最适合预订航班?”之类的问题。下面详细介绍分类。
- 回归:一种尝试预测连续值的 ML 算法,该值可能并不总是有界限。它可能会尝试回答(或预测答案)诸如“有多少人可能预订下周二的航班?”之类的问题。我们将在下一节中详细讨论回归树。
决策树的类型
决策树通常分为两类:分类树和回归树。可以构建特定的树以应用于分类、回归或这两种用例。大多数现代决策树使用 CART(分类和回归树)算法,该算法可以执行这两种类型的任务。
分类树
分类树是最常见的决策树类型,尝试解决分类问题。从问题的可能答案列表中(通常像“是”或“否”一样简单),分类树会在询问有关其所提供的数据的一些问题后选择最有可能的答案。它们通常以二叉树的形式实现,这意味着每个决策节点恰好有两个子节点。
分类树可能会尝试回答多项选择问题,例如“该客户满意吗?”或“该客户可能会访问哪家实体店?”或者“明天适合去高尔夫球场吗?”
衡量分类树质量的两种最常见的方法是基于信息增益和熵:
- 信息增益:当树在得到答案之前提出的问题较少时,它的效率就会提高。信息增益通过评估在每个决策节点了解一段数据的更多信息来衡量树能够“快速”获得答案的速度。它评估是否在树中首先提出最重要和最有用的问题。
- 熵:准确性对于决策树标签至关重要。熵指标通过评估树生成的标签来衡量这种准确性。他们评估随机数据片段最终出现错误标签的频率以及接收相同标签的所有训练数据片段之间的相似性。
更高级的树木质量测量包括基尼指数、增益比、卡方评估以及方差减少的各种测量。
回归树
回归树通常用于回归分析以进行高级统计分析或预测连续的、可能无界范围的数据。给定一系列连续选项(例如,实数范围内的零到无穷大),回归树尝试在提出一系列问题后预测给定数据片段的最可能匹配。每个问题都会缩小潜在答案的范围。例如,回归树可用于预测信用评分、业务线的收入或营销视频的交互次数。
回归树的准确性通常使用均方误差或平均绝对误差等指标来评估,这些指标计算一组特定预测与实际值的偏差程度。
决策树如何工作
作为监督学习的一个例子,决策树依赖格式良好的数据进行训练。源数据通常包含模型应学习预测或分类的值列表。每个值都应该有一个附加标签和一个关联特征列表——模型应该学习与标签关联的属性。
建造或训练
在训练过程中,决策树中的决策节点根据一种或多种训练算法递归地分裂为更具体的节点。该过程的人性化描述可能如下所示:
- 从连接到整个训练集的根节点开始。
- 分割根节点:使用统计方法,根据数据特征之一将决策分配给根节点,并将训练数据分配给至少两个单独的叶节点,作为子节点连接到根。
- 递归地将第二步应用于每个子节点,将它们从叶节点转变为决策节点。当达到某个限制时(例如,树的高度/深度、每个节点的每个叶子中子元素的质量度量等)或者数据用完(即每个叶子都包含数据),请停止与一个标签完全相关的点)。
对于分类、回归以及组合分类和回归用例,每个节点考虑哪些特征的决定有所不同。每个场景都有多种算法可供选择。典型的算法包括:
- ID3(分类):优化熵和信息增益
- C4.5(分类):ID3的更复杂版本,为信息增益添加归一化
- CART(分类/回归): “分类和回归树”;贪婪算法,优化结果集中的杂质最少
- CHAID(分类/回归): “卡方自动交互检测”;使用卡方测量而不是熵和信息增益
- MARS(分类/回归):使用分段线性近似来捕获非线性
常见的训练机制是随机森林。随机森林或随机决策森林是构建许多相关决策树的系统。可以使用训练算法的组合来并行训练树的多个版本。根据对树木质量的各种测量,这些树木的子集将用于产生答案。对于分类用例,返回由最大数量的树选择的类作为答案。对于回归用例,答案是聚合的,通常作为单个树的平均值或平均预测。
评估和使用决策树
一旦构建了决策树,它就可以对新数据进行分类或预测特定用例的值。保留树性能指标并使用它们来评估准确性和错误频率非常重要。如果模型与预期性能偏差太大,可能是时候根据新数据对其进行重新训练或寻找其他机器学习系统来应用于该用例。
决策树在机器学习中的应用
决策树在各个领域都有广泛的应用。以下是一些例子来说明它们的多功能性:
知情的个人决策
一个人可能会记录有关他们去过的餐馆等数据。他们可能会跟踪任何相关细节,例如旅行时间、等待时间、提供的菜肴、营业时间、平均评论分数、费用和最近的访问,以及个人访问该餐厅的满意度分数。可以根据这些数据训练决策树来预测新餐厅可能的满意度得分。
计算客户行为的概率
客户支持系统可能使用决策树来预测或分类客户满意度。可以训练决策树来根据各种因素预测客户满意度,例如客户是否联系了支持人员或重复购买,或者根据应用程序内执行的操作。此外,它还可以纳入满意度调查或其他客户反馈的结果。
帮助为业务决策提供信息
对于某些具有大量历史数据的业务决策,决策树可以为后续步骤提供估计或预测。例如,收集有关其客户的人口统计和地理信息的企业可以训练决策树来评估哪些新地理位置可能有利可图或应该避免。决策树还可以帮助确定现有人口统计数据的最佳分类边界,例如确定在对客户进行分组时要单独考虑的年龄范围。
高级 ML 和其他用例的功能选择
决策树结构是人类可读和可理解的。一旦构建了树,就可以确定哪些特征与数据集最相关以及按什么顺序。这些信息可以指导更复杂的机器学习系统或决策算法的开发。例如,如果企业从决策树中了解到客户将产品的成本放在首位,那么它可以将更复杂的机器学习系统集中在这种洞察力上,或者在探索更细微的功能时忽略成本。
机器学习中决策树的优点
决策树提供了几个显着的优势,使其成为机器学习应用程序中的流行选择。以下是一些主要优点:
构建快速且简单
决策树是最成熟、最容易理解的机器学习算法之一。它们不依赖于特别复杂的计算,并且可以快速、轻松地构建。只要所需信息容易获得,在考虑问题的 ML 解决方案时,决策树就是一个简单的第一步。
易于人类理解
决策树的输出特别容易阅读和解释。决策树的图形表示并不依赖于对统计学的高级理解。因此,决策树及其表示可用于解释、解释和支持更复杂的分析结果。决策树非常擅长查找和突出显示给定数据集的一些高级属性。
需要最少的数据处理
可以在不完整的数据或包含异常值的数据上轻松构建决策树。给定带有有趣特征的数据,如果向决策树算法提供未经预处理的数据,则它们往往不会像其他机器学习算法那样受到影响。
机器学习中决策树的缺点
虽然决策树有很多好处,但它们也有一些缺点:
容易过度拟合
决策树很容易出现过度拟合,当模型学习训练数据中的噪声和细节时就会发生这种情况,从而降低其在新数据上的性能。例如,如果训练数据不完整或稀疏,数据中的微小变化可能会产生显着不同的树结构。修剪或设置最大深度等先进技术可以改善树木行为。在实践中,决策树通常需要使用新信息进行更新,这可能会显着改变其结构。
可扩展性差
除了过度拟合的倾向之外,决策树还难以解决需要更多数据的更高级问题。与其他算法相比,决策树的训练时间随着数据量的增长而迅速增加。对于可能具有需要检测的重要高级属性的较大数据集,决策树不太适合。
对于回归或连续用例不太有效
决策树不能很好地学习复杂的数据分布。他们沿着易于理解但数学上简单的线分割特征空间。对于异常值相关的复杂问题、回归和连续用例,这通常会导致性能比其他机器学习模型和技术差得多。