主页

topics

random forest

什么是随机森林?
SPSS Modeler 拖放式数据科学工具 随机森林启发的神经网络
黑色和蓝色背景
什么是随机森林?

随机森林是一种常用的机器学习算法,整合多个决策树的输出得出单一结果,该算法已由 Leo Breiman 和 Adele Cutler 注册为商标。它灵活易用,既能处理分类问题也能处理回归问题,因此推动了人们对它的采用。

决策树

由于随机森林模型由多个决策树组成,因此我们首先要简要介绍决策树算法,这对了解随机森林会很有帮助。决策树从一个基本问题开始,例如“我应该去冲浪吗?”接下来,您可以提出一系列问题来确定答案,例如“浪涌时间长吗?”或“风是吹向海面的吗?”这些问题构成了决策树中的决策节点,是一种数据分裂方法。每个问题都有助于个人做出最终决定,该决定将由叶节点表示。符合标准的观测值将进入“是”分支,而不符合标准的观测值则进入备用路径。决策树旨在找到划分数据子集的最佳分裂,并且通常会通过分类和回归树 (CART) 算法进行训练。基尼系数、信息增益或均方误差 (MSE) 等指标可用于评估分裂的质量。

上述决策树是分类问题的一个示例,其中,类标签是“冲浪”和“不冲浪”。

虽然决策树是常见的监督学习算法,但它们容易出现偏差和过度拟合等问题。然而,当多个决策树在随机森林算法中形成一个整体时,它们预测的结果就会更为准确,尤其是在各决策树彼此互不相关的情况下更是如此。

集成方法

集成学习方法由一组分类器(例如决策树)组成,会汇总它们的预测结果,识别出现频率最高的结果。最著名的集成方法是 bagging(又称自助法聚合)和 boosting。1996 年,Leo Breiman(ibm.com 外部链接)提出了 bagging 方法;在此方法中,用替换法来选择训练集中的随机数据样本,这意味着可多次选择单个数据点。在生成多个数据样本后,将单独训练这些模型,根据任务类型(如回归或分类),这些预测一般或大多数都会产生更准确的估计值。此方法通常用于减少噪声数据集中的方差。

随机森林算法

随机森林算法是 Bagging 方法的延伸,因为它会同时使用 Bagging 和特征随机性来创建一个不相关的决策树森林。特征随机性也称为特征组合或“随机子空间方法”(ibm.com 外部链接),它会生成一个随机特征子集,从而确保各决策树之间的相关性较低。这是决策树与随机森林之间的关键区别。虽然决策树会考虑所有潜在的特征分裂,但随机森林只会选择这些特征的子集。

再说回“我应该去冲浪吗?”这个例子,我为了确定预测而提出的问题可能不如其他人提出的一系列问题全面。通过考虑数据中可能存在的所有可变性,我们就可以降低过度拟合、偏差和总体方差风险,最终实现更精准的预测。

IBM 被 IDC 评为领导者

阅读并了解为什么 IBM 在《IDC MarketScape:2023 年全球 AI 治理平台》报告中被评为领导者。

相关内容 立即注册,获取有关负责任 AI 工作流的电子书
工作原理

随机森林算法有三个主要的超参数,需要在训练前设置。这三个超参数包括节点大小、树的数量和采样的特征数量。设置之后,就可以使用随机森林分类器来解决回归或分类问题了。

随机森林算法由一组决策树组成,集成中的每个决策树都由使用替换法从训练集中抽取的数据样本组成,这些样本称为自助样本。在该训练样本中,有三分之一被留作测试数据,称为袋外 (oob) 样本,我们稍后会对其进行介绍。然后,通过 feature bagging 添加另一个随机性实例,从而增加数据集的多样性并降低决策树之间的相关性。问题的类型不同,最终预测的确定方法也会有所不同。对于回归任务,将取各决策树的平均值,而对于分类任务,将根据多数票(即,出现频率最高的分类变量)产生预测类。最后,使用 oob 样本进行交叉验证,最终确定该预测。

随机森林的优点和挑战

随机森林算法在用于分类或回归问题时,具有许多重要优势,但也面临诸多挑战。其中包括:

主要优点

  • 降低过度拟合的风险:决策树存在过度拟合的风险,因为它们倾向于严格拟合训练数据中的所有样本。但是,当随机森林中存在大量决策树时,分类器便不会对此模型进行过度拟合,因为对不相关的决策树取平均值会降低整体方差和预测误差。
  • 提供灵活性:由于随机森林能够以较高精度处理回归和分类任务,因此它是数据科学家常用的方法。此外,feature bagging 即使在缺少部分数据时仍能保持准确性,这也使随机森林分类器成为估算缺失值的有效工具。
  • 易于确定特征重要性:随机森林可以轻松评估变量对模型的重要性或贡献。可以采用几种方式来评估特征的重要性。基尼重要性和平均不纯度减少 (MDI) 通常用于衡量排除给定变量时模型准确度的降低程度。然而,排列重要性也是衡量重要性的另一个指标,它又称平均精确度减少 (MDA)。MDA 通过随机排列 oob 样本中的特征值来确定精确度的平均下降程度。

主要挑战

  • 过程耗时:随机森林算法可以处理大型数据集,因此提供的预测更准确,但是由于需要计算每个决策树的数据,也导致数据处理速度缓慢。
  • 需要更多资源:由于随机森林处理的数据集更大,因此需要更多的资源来存储这些数据。
  • 更复杂:与决策树森林相比,单个决策树的预测更容易解读。
随机森林的应用

随机森林算法已经应用于许多行业,帮助做出更明智的业务决策。一些用例包括:

  • 金融行业:随机森林优于其他算法之处在于,它可以减少数据管理和预处理任务所需的时间。可以用其评估信用风险高的客户、检测欺诈行为和期权定价问题。
  • 医疗保健:随机森林算法已经应用于计算生物学(ibm.com 外部链接),可帮助医生解决基因表达分类、生物标志物发现和序列注释等问题。因此,医生可以预估特定药品的药物反应。
  • 电子商务:随机森林算法可用于推荐引擎,实现交叉销售目的。
相关解决方案
IBM® SPSS Modeler

IBM SPSS Modeler 提供预测分析,帮助您发掘数据模式、实现准确预测并改进决策过程。

探索 SPSS Modeler
资源 IBM SPSS Modeler 拖放式数据科学工具

了解世界各地的组织如何将 SPSS Modeler 用于数据准备和发现、预测分析、模型管理和部署以及 ML,以将数据资产变现。

随机森林启发的神经网络

了解采用随机森林结构精心设计的神经网络如何才能具有更好的泛化能力。

使用 Python 通过随机森林算法预测信用违约

构建随机森林模型,并使用 scikit-learn 通过超参数调整来优化该模型。

采取后续步骤

IBM SPSS Modeler 是一种可视化数据科学和机器学习 (ML) 解决方案,它通过自下而上的假设生成方法揭示隐藏在数据中的模式和模型。世界各地的组织都将它用于数据准备和发现、预测分析、模型管理和部署以及 ML,以将数据资产变现。

探索 SPSS Modeler 免费试用 30 天