机器学习:决策树

栏目: 数据库 · 发布时间: 5年前

内容简介:一棵树在现实生活中有许多类比,并且结果表明它广泛地影响机器学习,包括分类和回归。 在决策分析中,决策树可用于在视觉上和明确地表示决策和作出决策。 顾名思义,在此,我们考虑一个非常基本的例子,它使用泰坦尼克数据集来预测乘客是否能够幸存。 下面的模型使用数据集中的3个特征/属性/列,即sex,age和sibsp(配偶或子女的数量)。

一棵树在现实生活中有许多类比,并且结果表明它广泛地影响机器学习,包括分类和回归。 在决策分析中,决策树可用于在视觉上和明确地表示决策和作出决策。 顾名思义, 它是使用树状的决策模型 。 虽然它是数据挖掘中常用的 工具 以用于推导达到特定目标的策略,但它也广泛用于机器学习,这将是本文的重要关注点。

如何将算法表示为树?

在此,我们考虑一个非常基本的例子,它使用泰坦尼克数据集来预测乘客是否能够幸存。 下面的模型使用数据集中的3个特征/属性/列,即sex,age和sibsp(配偶或子女的数量)。

机器学习:决策树

决策树是倒置的,其根位于顶部。 在上图中,黑色粗体文本表示条件/内部节点,树基于该节点/内部节点分割成分支/边缘。 分支的末端不再分裂是决定/叶子,在这种情况下,乘客是否死亡或幸存,分别表示为红色和绿色文本。

虽然,真实的数据集将具有更多的特征,这只是一个更大的树中的分支,但你不能忽视这个算法的简单性。 特征重要性很清楚,也容易查看关系。这种方法通常被称为来自数据的学习决策树和上面树称为 分类树 ,因为目标是将乘客分类为幸存者或死亡者。 回归树 以相同的方式表示,只是它们预测像房子价格这样的连续值。 通常, 决策树算法称为CART或分类和回归树

那么,背后究竟发生了什么? 生成树涉及决定选择哪些特征以及用于分割的条件,以及知道何时停止。 由于树木通常会随意生长,因此您需要将其修剪下来才能看起来很漂亮。 让我们从用于分裂的常用技术开始。

递归二叉分裂

机器学习:决策树

在此过程中,将考虑所有函数,并使用成本函数尝试和测试不同的分割点。 选择具有最佳成本(或最低成本)的分割。

考虑从泰坦尼克号数据集中学习的树的早期例子。在第一个分割或根中,考虑所有属性/特性,然后根据这个分割将训练数据分成组。我们有3个特征,所以将有3个候选分割。现在,我们将使用一个函数来计算每次拆分的精度。选择成本最低的分割方式,在我们的例子中是乘客的性别。这种 算法本质上是递归的 ,因为组成的组可以使用相同的策略进行细分。由于这个过程,这个算法又被称为 贪心算法 ,因为我们有一个过高的降低成本的愿望。这使得根节点成为最好的预测器/分类器。

分割代价

让我们仔细看看用于分类和回归的成本函数。 在这两种情况下,成本函数试图找到最均匀的分支,或者具有相似响应的组的分支。 这是有道理的,我们可以更确定测试数据输入将遵循某个路径。

机器学习:决策树

可以说,我们正在预测房屋的价格。 现在,决策树将通过考虑训练数据中的每个特征开始分裂。 特定组的训练数据输入的响应平均值被认为是该组的预测。 上述函数应用于所有数据点,并计算所有候选分割的成本。 再次选择成本最低的分割。 另一个成本函数涉及降低标准差,更多关于它的信息可以在 这里找到

机器学习:决策树

基尼分数通过分裂创建的组中响应类的混合程度,可以了解分割的好坏程度。 这里,pk是特定组中存在的相同类输入的比例。 当一个组包含来自同一类的所有输入时,就会出现完美的类纯度,在这种情况下,pk为1或0且G = 0,其中作为一个组中50-50分类的节点具有最差的纯度, 所以对于二元分类,它将具有pk = 0.5和G = 0.5。

什么时候停止分裂?

你可能会问什么时候停止生长树? 由于问题通常具有大量特征,因此会导致大量分裂,从而产生巨大的树。 这种树很复杂,可能导致过度拟合。 那么,我们需要知道何时停止? 这样做的一种方法是 设置每个叶子上使用的最小数量的训练输入 。 例如,我们可以使用至少10名乘客来做出决定(死亡或幸存),并忽略任何少于10名乘客的叶子。 另一种方法是 设置模型的最大深度 。 最大深度是指从根到叶子的最长路径的长度。

剪枝

通过剪枝可以进一步提高树的性能。 它涉及删除使用具有低重要性的特征的分支。 这样,我们降低了树的复杂性,从而通过减少过度拟合来提高其预测能力。

Pruning can start at either root or the leaves. The simplest method of pruning starts at leaves and removes each node with most popular class in that leaf, this change is kept if it doesn't deteriorate accuracy. Its also called reduced error pruning. More sophisticated pruning methods can be used such as cost complexity pruning where a learning parameter (alpha) is used to weigh whether nodes can be removed based on the size of the sub-tree. This is also known as weakest link pruning.

CART的优点

  • 易于理解,解释,可视化。
  • 决策树隐式执行变量筛选或特征选择。
  • 可以处理数字和分类数据,还可以处理多输出问题。
  • 参数之间的非线性关系不会影响树性能。

CART的缺点

  • 决策树学习者可以创建过于复杂的树,这些树不能很好地推广数据。 这称为过度拟合。
  • 决策树可能不稳定,因为数据中的小变化可能导致生成完全不同的树。 这称为方差,需要通过套袋和提升等方法降低。
  • 贪心算法无法保证返回全局最优决策树。 这可以通过训练多个树来减轻,其中特征和样本随机替换。
  • 如果某些类占主导地位,决策树学习者会创建偏向它的树。 因此,建议在拟合决策树之前平衡数据集。

这是所有的基本知识,让你与决策树学习平起平坐。对决策树学习方法进行了改进。实现这些算法的流行库是Scikit-Learn。它有一个很好的api,可以用 python 中的几行代码让您的模型运行起来。

原文链接: https://towardsdatascience.com/decision-trees-in-machine-learning-641b9c4e8052

版权声明:作者保留权利,严禁修改,转载请注明原文链接。

数据人网是数据人学习、交流和分享的平台http://shujuren.org 。专注于从数据中学习到有用知识。 平台的理念:人人投稿,知识共享;人人分析,洞见驱动;智慧聚合,普惠人人。 您在数据人网平台,可以1)学习数据知识;2)创建数据博客;3)认识数据朋友;4)寻找数据工作;5)找到其它与数据相关的干货。 我们努力坚持做原创,聚合和分享优质的省时的数据知识! 我们都是数据人,数据是有价值的,坚定不移地实现从数据到商业价值的转换!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

AI·未来

AI·未来

李开复 / 浙江人民出版社 / 2018-9-1 / 62

迎来“深度学习”这项重大技术突破后,人工智能已经从发明的年代步入了实干的年代。 现在已是未来,我们所处的时代,已经与过去完全不同。面对已经来临的、机遇与挑战并存的人工智能时代,我们必须了解人工智能,跟上人工智能发展的脚步,这样才能不被时代淘汰。 全球目前人工智能发展的情况是怎样的? 全球的人工智能巨头企业有哪几家,现在它们有什么贡献?未来它们又将如何改变世界? 人工智能已经......一起来看看 《AI·未来》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具