随机森林

随机森林是一种流行的监督机器学习方法,用于分类和回归,它包括使用多个决策树,并将树的预测组合成一个整体预测。训练随机森林就是独立地训练其每个决策树。每个决策树通常在训练集的略微不同的部分上进行训练,并且可能查看不同的特征来进行节点拆分。

其理念是,每个决策树训练方式的不同将有助于避免过度拟合,而过度拟合在仅在一个决策树上训练整个训练集时并不少见。结合多个预测器(在本例中为决策树)的方法也称为集成学习,并且对每个预测器使用训练集的不同部分通常称为bootstrap 聚合bagging

分类

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

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

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

回归

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

对于回归,随机森林预测是通过简单地取其决策树预测的平均值来进行的。在 GDS 中,用于计算决策树回归器训练中节点拆分潜力的杂质标准是均方误差

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

调整超参数

为了平衡模型的偏差与方差、训练的速度与内存消耗等问题,GDS 公开了可以调整的几个超参数。下面将对每个参数进行描述。

决策树的数量

此参数设置将成为随机森林一部分的决策树的数量。

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

通常,决策树数量越多,训练时间越长,内存消耗也越高。

最大特征比率

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

较高的(接近 1.0)最大特征比率意味着训练将花费更长时间,因为决策树中节点分裂的方式有更多选择。这也意味着每个决策树在训练集上的预测效果会更好。虽然从某种意义上说这是积极的,但它也可能意味着每个决策树都会在训练集上过拟合。

最大深度

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

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

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

最小叶子大小

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

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

最小分裂大小

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

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

样本数量比率

随机森林中的每个决策树都使用训练集的一个子集进行训练。此子集使用有放回抽样,这意味着训练的特征向量可能会为单个决策树多次采样。每个决策树的训练样本数量是numberOfSamplesRatio乘以训练集中样本总数。

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

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

标准(仅限分类)

在决定如何分裂决策树中的节点时,会使用杂质标准评估潜在的分裂。两个潜在子节点的杂质组合越低,则认为分裂越好。对于 GDS 中的随机森林分类,有两个选项,通过criterion配置参数指定,用于此类杂质标准

  • 基尼杂质

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

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

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

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

很难先验地说哪种标准对于特定问题最合适,但通常使用基尼杂质将意味着更快的训练,因为使用熵需要计算对数。