你需要知道的关于随机森林算法优化的一切

已发表: 2020-12-22

假设您已经构建了一个机器学习程序并使用随机森林模型对其进行训练。 但是,程序的输出/结果并不像您希望的那样准确。 所以你会怎么做?

改进机器学习模型以提高机器学习程序的输出的方法有以下三种:

  • 提高输入数据质量和特征工程
  • 算法的超参数调优
  • 使用不同的算法

但是,如果您已经使用了所有可用的数据源怎么办? 下一个合乎逻辑的步骤是超参数调整。 因此,如果您创建了一个带有随机森林模型的机器学习程序,使用了最好的数据源,并且想进一步提高程序的输出,那么您应该选择随机森林超参数调整

在我们深入研究随机森林超参数调优之前,让我们先看一下超参数和超参数调优的一般情况。

目录

什么是超参数?

在机器学习的上下文中,超参数是用来控制模型学习过程的参数。 它们在模型外部,无法从数据中估计它们的值。

对于随机森林超参数调整,超参数包括决策树的数量和节点分裂时每棵树考虑的特征数量。

什么是超参数调优?

超参数调优是为机器学习问题寻找一组理想的超参数的过程。

现在我们已经了解了超参数和超参数调整是什么,让我们看看随机森林中的超参数和随机森林超参数调整

阅读:决策树面试问题

什么是随机森林超参数调优?

要了解什么是随机森林超参数调整,我们将看一下五个超参数以及每个超参数的调整。

超参数 1:max_depth

max_depth 是随机森林算法中树中根节点和叶节点之间的最长路径。 通过调整这个超参数,我们可以限制我们希望树在随机森林算法中生长的深度。 此超参数通过在宏观层面上工作来减少决策树的增长。

超参数 2:max_terminal_nodes

该超参数通过设置树中节点分裂的条件来限制随机森林中决策树的生长。 节点的分裂将停止,如果分裂后的终端节点多于指定数量,则树的生长将停止。

例如,假设我们在树中有一个节点,并且最大终端节点设置为四个。 由于只有一个节点,一开始,节点将被拆分,树将进一步增长。 在拆分达到最大限制 4 后,决策树将不会进一步增长,因为拆分将终止。 使用 max_terminal_nodes 超参数调整有助于防止过度拟合。 但是,如果调整的值非常小,则森林很可能会欠拟合。

相关阅读:决策树分类

超参数 3:n_estimators

数据科学家总是面临要考虑多少决策树的困境。 有人可能会说选择更多的树是要走的路。 这可能成立,但它也增加了随机森林算法的时间复杂度。

通过 n_estimators 超参数调整,我们可以决定随机森林模型中的树数。 n_estimators 参数的默认值为 10。 这意味着默认构建十个不同的决策树。 通过调整这个超参数,我们可以改变将要构建的树的数量。

超参数 4:max_features

通过这种超参数调整,我们可以决定为森林中的每棵树提供的特征数量。 一般来说,如果将 max features 的值设置为 6,则发现模型的整体性能最高。 但是,您也可以将最大特征参数值设置为默认值,即数据集中存在的特征数量的平方根。

超参数 5:min_samples_split

此超参数调整决定了拆分内部叶节点所需的最小样本数。 默认情况下,此参数的值为 2。 这意味着要拆分内部节点,必须至少存在两个样本。

如何进行随机森林超参数调优?

您需要通过调用创建模型的函数手动执行随机森林超参数调整。 随机森林超参数调整更多的是一种实验方法,而不是理论方法。 因此,您可能需要尝试不同的超参数调整组合,并在决定选择一种之前评估每种组合的性能。

例如,假设您必须在随机森林算法中调整估计器的数量和树的最小分割。 因此,您可以使用以下命令进行超参数调优:

森林 = RandomForestClassifier(random_state = 1, n_estimators = 20, min_samples_split = 2)

在上面的示例中,估计器的数量从其默认值 10 更改为 20。 因此,算法将在随机森林中创建二十棵树,而不是十棵决策树。 类似地,一个内部叶节点只有在它至少有两个样本时才会被分裂。

结论

我们希望这篇博客能帮助您了解随机森林超参数调优 您可以调整许多其他超参数以改善机器学习程序的输出。 在大多数情况下,超参数调整足以改善机器学习程序的输出。

但是,在极少数情况下,即使是随机森林超参数调整也可能无济于事。 在这种情况下,您将需要考虑不同的机器学习算法,例如线性或逻辑回归、KNN 或您认为合适的任何其他算法。

如果您有兴趣了解有关决策树、机器学习的更多信息,请查看 IIIT-B 和 upGrad 的机器学习和人工智能 PG 文凭,该文凭专为在职专业人士设计,提供 450 多个小时的严格培训、30 多个案例研究和作业,IIIT-B 校友身份,5 个以上实用的实践顶点项目和顶级公司的工作协助。

为什么要使用随机森林算法?

在机器学习中的监督学习算法类别中,随机森林算法是使用最广泛的模型之一。 随机森林算法可以解决机器学习中的分类和回归问题。 它专注于集成学习,该概念结合了多个分类器来解决复杂问题,从而可以改善模型的整体功能和结果。 随机森林算法很受欢迎,因为与许多其他算法相比,它的训练时间要少得多。 它还可以为大量数据集提供高度准确的预测,即使部分数据丢失。

决策树和随机森林有什么区别?

决策树算法是机器学习中的一种监督学习技术,它对单个树进行建模,该树构成一系列导致特定结果的后续决策。 决策树易于解释和理解。 但它通常不足以解决更复杂的问题。 这就是随机森林算法变得有用的地方——它利用多个决策树来解决特定问题。 换句话说,随机森林算法随机生成多个决策树,并将它们的结果组合起来产生最终结果。 尽管随机森林比决策树更难解释,但当涉及大量数据时,它会产生准确的结果。

使用随机森林算法有什么好处?

使用随机森林算法的最大优势在于它的灵活性。 您可以将此技术用于分类和回归任务。 除了多功能性之外,该算法也非常方便——它使用的默认参数足以产生高精度的预测。 此外,机器学习分类模型因过度拟合等问题而闻名。 如果随机森林算法中有足够多的树,分类中的过拟合问题很容易克服。