随机森林

随机森林是一种流行的监督式机器学习方法,用于分类和回归。它通过使用多个决策树,并将这些树的预测结果组合成一个整体预测。训练随机森林即独立训练其每个决策树。每个决策树通常在训练集的略微不同部分上进行训练,并可能在其节点分割时考虑不同的特征。

这样做的目的是,每个决策树训练方式的差异将有助于避免过拟合,这在仅使用整个训练集训练单个决策树时并不少见。这种结合多个预测器(此处为决策树)的方法也称为集成学习,而为每个预测器使用训练集不同部分的方法通常被称为自助采样聚合bagging

分类

此功能处于 Beta 阶段。有关功能层级的更多信息,请参阅API 层级

对于分类,随机森林的预测是通过简单地对决策树的预测结果进行多数投票来完成的。GDS 中决策树分类器训练中计算节点分割潜力可用的不纯度标准是基尼不纯度(默认)和

随机森林分类可用于训练节点分类链接预测管道。

回归

此功能处于 Alpha 阶段。有关功能层级的更多信息,请参阅API 层级

对于回归,随机森林的预测是通过简单地对其决策树的预测结果取平均值来完成的。GDS 中决策树回归器训练中计算节点分割潜力所用的不纯度标准是均方误差

随机森林回归可用于训练节点回归管道。

超参数调优

为了平衡模型的偏差与方差、训练的速度与内存消耗等问题,GDS 暴露了一些可供调优的超参数。以下将逐一介绍。

决策树数量

此参数设置组成随机森林的决策树数量。

树的数量过少可能意味着模型会过度拟合数据集的某些部分。

通常,树的数量越多意味着训练时间越长,内存消耗越高。

最大特征比例

对于决策树中的每个节点分割,会考虑特征向量的特征集。所考虑的特征数量是 maxFeaturesRatio 乘以特征总数。如果需要考虑的特征数量少于特征总数,则会对所有特征的一个子集进行采样(不重复)。这有时被称为特征 bagging

高的(接近 1.0)最大特征比例意味着训练将需要更长时间,因为决策树中如何分割节点的选项更多。这也意味着每个决策树在训练集上的预测会更好。虽然这在某种意义上是积极的,但它也可能意味着每个决策树都会在训练集上过拟合。

最大深度

此参数设置随机森林中决策树的最大深度。

较高的最大深度可能意味着训练时间更长,因为可能需要考虑更多的节点分割。生成的预测模型的内存占用也可能更高,因为树可能更大(更深)。

更深的决策树可能能够更好地拟合训练集,但这可能也意味着它会过拟合。

最小叶子大小

此参数设置决策树叶子节点中所需存在的最小训练样本数。

较大的叶子大小意味着对训练集的专业化程度较低,因此在训练集上的性能可能较差,但可能避免过拟合。这可能还意味着训练和预测会更快,因为树中可能包含更少的节点。

最小分割大小

此参数设置决策树节点中所需存在的最小训练样本数,以便在训练期间进行分割。分割节点意味着继续树构建过程以在该节点下方添加更多子节点。

较大的分割大小意味着对训练集的专业化程度较低,因此在训练集上的性能可能较差,但可能避免过拟合。这可能还意味着训练和预测会更快,因为可能考虑的节点分割较少,因此树中包含的节点也较少。

样本比例

随机森林中的每个决策树都使用训练集的一个子集进行训练。这个子集是带替换采样的,这意味着训练的特征向量可能在单个决策树中被多次采样。每个决策树的训练样本数量是 numberOfSamplesRatio 乘以训练集中的总样本数。

高比例可能意味着每个决策树的泛化能力更好,但对于整个随机森林来说不一定如此。训练也将花费更长时间,因为每个决策树的每个节点分割中都需要考虑更多的特征向量。

特殊值 0.0 用于表示不采样。在这种情况下,随机森林中的每个决策树都将使用训练集中的所有特征向量进行训练。

判据(仅限分类)

当决定如何分割决策树中的节点时,潜在的分割使用不纯度判据进行评估。两个潜在子节点的组合不纯度越低,分割被认为越好。对于 GDS 中的随机森林分类,有两种选择,通过 criterion 配置参数指定,用于此类不纯度判据:

  • 基尼不纯度

    • 衡量从集合中随机选择的元素,如果根据集合中标签的分布随机标记,被错误标记的频率。

    • 通过字符串 "GINI" 选择使用

    • 一种信息论度量,衡量集合中的不确定性量。

    • 通过字符串 "ENTROPY" 选择使用

很难事先说哪个判据对于特定问题是最好的,但通常使用基尼不纯度会意味着更快的训练,因为使用熵需要计算对数。

© . All rights reserved.