什么是随机森林?

什么是随机森林?

随机森林是一种有监督的机器学习算法。由于其准确性,简单性和灵活性,它已成为最常用的一种算法。事实上,它可以用于分类和回归任务,再加上其非线性特性,使其能够高度适应各种数据和情况。

随机森林图

“随机决策森林” 一词最初是由何天琴于 1995 年提出的。何天琴开发了一个使用随机数据创建预测的公式。然后在 2006 年,利奥·布雷曼和阿黛尔·卡特勒扩展了算法,创造了我们今天所知的随机森林。这意味着这项技术及其利用的数学和科学仍然相对较新。

它之所以被称为 “森林”,是因为它生成了决策树森林。然后,来自这些树的数据合并在一起,以确保最准确的预测。虽然单独的决策树只有一个结果和范围狭窄的群组,但森林可以确保有更多的小组和决策,从而获得更准确的结果。它还有一个好处,那就是通过在随机特征子集中找到最佳特征来为模型添加随机性。总体而言,这些优势创造了一个具有广泛多样性的模型,这种多样性受到许多数据科学家的青睐。

什么是决策树?

决策树是你一生中可能每天都在使用的东西。这就像你向朋友征求买什么沙发的建议一样。你的朋友会问你什么对你很重要。大小?颜色?织物还是皮革?根据这些决定,您可以根据自己的选择找到理想的沙发。决策树基本上会询问一系列正确或错误的问题,从而得出特定的答案。

每个 “测试”(皮革还是织物?)被称为节点。每个分支都代表该选择(织物)的结果。每个叶子节点都是该决策的标签。显然,在实际情况下,它会拆分观测值,使整个组别都不同,从而产生彼此相似但与其他组不同的子组。

决策树和随机森林的区别

随机森林是一组决策树。但是,两者之间存在一些差异。决策树往往会创建规则,用来做出决策。随机森林将随机选择要素并进行观测,构建决策树林,然后计算平均结果。

从理论上讲,与单个决策树相比,大量不相关的决策树会产生更准确的预测。这是因为大量的决策树协同工作,可以相互保护,免受单个错误和过度拟合的影响。

为了使随机森林表现良好,需要三点:

  • 一个可识别的信号,让模型不只是猜测
  • 树所做的预测必须与其他树有较低相关性
  • 具有一定程度预测能力的功能:GI=GO

企业如何使用随机森林算法?

在业务环境中,有许多用于随机森林的应用程序。例如,单个决策树可能会对与葡萄酒相关的数据集进行分类,将各种葡萄酒分为淡葡萄酒或浓葡萄酒。

随机森林创建许多树,这使得最终结果的预测变得更加复杂。它可以接收葡萄酒信息并生成很多树,比较价格、单宁、酸度、酒精含量、糖分、供应情况以及其他各种特征。然后,计算结果的平均值,它可以根据大量标准预测出(可以说)总体上最好的葡萄酒。

在企业中,随机森林算法可以用于存在一系列输入数据和复杂情况的场景。例如,确定客户何时离开公司。客户流失很复杂,通常涉及一系列因素:产品成本、对最终产品的满意度、客户支持效率、付款便利性、合同期限、提供的额外功能以及性别、年龄和位置等人口统计数据。随机森林算法为所有这些因素创建决策树,并可以准确预测组织的哪些客户存在流失的高风险。

另一个复杂的例子是试图预测哪些客户将在一年内支出最大。分析了全面的变量和属性,并可以预测营销部门当年的目标受众。

在决策林中装填

装填(也称为引导聚合)允许单个决策树从数据集中随机采样并替换数据,从而在单个决策树中产生截然不同的结果。这意味着每棵树只获取部分数据,而不包括所有可用数据。然后,这些单独的树会根据它们拥有的数据做出决策,并仅根据这些数据点预测结果。

这意味着在每个随机森林中,都有树根据不同的数据进行训练,并使用不同的特征以便做出决策。这为树提供了缓冲区,保护它们免受错误和不正确预测的影响。

装填过程仅使用大约三分之二的数据,因此剩下的三分之一可以用作测试集。

随机森林的好处

易于衡量相对重要性

衡量特征的重要性很简单,只需查看使用该特征来减少林中所有树的杂质的节点。置换变量前后的差异很容易看出,这可以衡量该变量的重要性。

多用途

因为随机林既可用于分类任务,也可用于回归任务,所以它的用途非常广泛。它可以轻松处理二进制和数值特征以及分类特征,而无需进行转换或重新调节。与几乎所有其他模型不同,它对所有类型的数据都非常高效。

无过度拟合

只要森林里有足够的树,就几乎没有过度拟合的风险。决策树最终也可能过度拟合。随机森林通过从子集构建不同大小的树并合并结果来防止出现这种情况。

高度准确性

使用许多在子组之间存在显著差异的树可以使随机森林成为高度准确的预测工具。

减少花在数据管理上的时间

在传统的数据处理中,很大一部分宝贵的时间都花在了清理数据上。随机森林可以很好地处理丢失的数据,从而最大限度地减少这种情况的出现。对从完整和不完整数据得出的预测进行比较的测试显示出几乎相同的性能水平。外围数据和非线性特征基本上是废弃了。

随机森林技术还可以平衡人口和其他不平衡数据集中的错误。它通过最大限度地降低错误率来做到这一点,因此较大的类别将具有较低的错误率,而较小的类别将具有较高的错误率。

快速训练速度

由于随机森林使用的是特征子集,因此它们可以快速评估数百种不同的特征。这意味着预测速度也比其他模型快,因为生成的森林可以保存并在将来重复使用。

随机森林的挑战

结果变慢

由于该算法正在构建许多树,因此它提高了预测的复杂性和准确性。但是,它会减慢该过程的速度,因为它正在建造数百或数千个树。这使得它对实时预测没有效果。

解决方案:可以使用袋外 (OOB) 采样,即仅用三分之二的数据进行预测。随机森林进程也是可并行的,因此该进程可以在许多机器上拆分,运行时间比在单独系统中快得多。

无法推断

随机森林预测依赖于先前观测到的标签的平均值。其范围受训练数据中最低和最高标签的约束。虽然这只是在训练和预测输入具有不同范围和分布的情景中出现的问题,但这种协变量偏移是一个问题,意味着在某些情况下应使用不同的模型。

可解释性低

随机森林模型是最终的黑匣子。它们无法解释,因此很难理解它们是如何或为什么做出某个决定的。这种不可穿透性意味着模型必须按原样被信任,结果必须照原样接受。

随机森林的替代品

神经网络 (NN)

神经网络是一些协同工作以识别数据中关系的算法。它旨在尝试复制人脑的工作方式,始终在变化和调整以适应传入的数据。与随机森林相比,它具有显著的优势,因为它可以处理表格格式以外的数据,例如音频和图像。它还可以使用许多超参数进行微调,以适应所需的数据和结果。

但是,如果正在使用的数据仅是表格数据,则最好坚持使用随机森林,因为它更简单,并且仍然可以产生良好的结果。神经网络可能是劳动力和计算机密集型的,对于许多计算来说,可能根本不需要细粒度的细节。对于简单的表格数据,神经网络和随机森林在预测方面的表现类似。

极限梯度增强 (xGBoost)

据说极限梯度增强比随机森林更准确,而且功能更强大。它结合了随机森林和梯度增强 (GBM),创建了一套更准确的结果集。xGBoost 采取较慢的步骤,按顺序而不是独立进行预测。它使用残差中的模式,强化了模型。这意味着预测误差小于随机森林预测。

线性模型

线性预测模型是最简单的机器学习技术之一。它们使用广泛,当在正确的数据集上执行时,就成了强大的预测工具。它们也很容易解释,并且不像随机森林那样具有黑匣子效应。但是,因为它们只使用线性数据,敏捷性明显低于随机森林。如果数据是非线性的,则随机森林将产生最佳预测。

集群模型

排名前五的聚类方法包括模糊聚类、基于密度的聚类、分区方法、基于模型的聚类和分层聚类。它们都以某种形式,通过将一组对象聚类在一起,形成相似的组或聚类。它是一种在数据科学许多领域中都使用的技术,也是数据挖掘、模式识别和机器学习的一部分。虽然可以在随机林中使用聚类,但它本身就是一种独立的技术。

聚类模型在适应新示例、概括聚类大小和形状方面非常出色,其结果可提供有价值的数据洞见。

但是,聚类不能很好地处理异常值和非高斯分布。处理大量样本时,聚类可能会出现扩展问题。最后,特征的数量可能很多,甚至比样本数量还要多。

支持向量机 (SVM)

支持向量机分析数据,然后将其用于回归分析和分类。它是一种可靠的预测方法,可以可靠地构建对数据点进行分类的模型。这些模型依赖于点之间距离的概念,尽管这可能并非在所有情况下都有意义。虽然通过随机森林可以得出在分类问题中属于某个类的概率,但支持向量机可以得出到边界的距离,因此它仍然需要进行转换才能使其成为概率。

贝叶斯网络

贝叶斯网络是一种显示变量、依赖关系和概率的图形模型。它们用于根据数据构建模型、预测结果、检测异常、提供推理、运行诊断以及协助制定决策。贝叶斯网络是生成性的,可以对给定随机变量的概率分布进行建模。它最适合对随机变量进行复杂查询。

随机森林是描述性模型,通常用于分类。如果对因果关系感兴趣,那么贝叶斯网络可能比随机森林更适合。如果数据池很大,则最好使用随机森林。

随机森林的未来

随机森林高效、适应性强且敏捷,是许多数据科学家首选的监督机器学习模型。它提供了许多替代方案所不具备的一系列好处,并提供了准确的预测和分类。但是,这在很大程度上是无法解释的,就如何实现结果而言,这可能有点像一个黑匣子。

将来,将经典随机森林与其他策略相结合可能会使预测更加准确,并进一步优化结果。此外,向可解释机器学习跃迁现在已逐渐成为现实,这可能有助于揭开随机森林预测的一些奥秘。

猜你喜欢

转载自blog.csdn.net/u014541881/article/details/128620617