随机森林算法:何时使用以及如何使用? [优点和缺点]

已发表: 2020-12-24

数据科学包含能够解决与分类相关的问题的各种算法。 随机森林通常位于分类层次结构的顶部。 其他算法包括支持向量机、朴素偏差分类器和决策树。

在学习随机森林算法之前,让我们先了解决策树的基本工作原理以及它们如何组合形成随机森林。

目录

决策树

决策树算法属于监督学习算法的范畴。 决策树的目标是根据训练过程中制定的规则来预测目标变量的类别或值。 从树的根开始,我们将根属性的值与我们希望分类的数据点进行比较,并在比较的基础上跳转到下一个节点。

接下来,让我们讨论一些重要的术语及其在处理决策树中的意义。

  1. 根节点它是树的最顶层节点,从中进行划分以形成更多同质节点。
  2. 数据点的拆分数据点的拆分方式可以减少拆分后的标准偏差。
  3. 信息增益信息增益是我们希望在拆分后实现的标准偏差的减少。 更多的标准偏差减少意味着更多的同质节点。
  4. 熵是分裂发生后节点中存在的不规则性。 节点中的更多同质性意味着更少的熵。

阅读:决策树面试问题

需要随机森林算法

决策树算法容易出现过拟合,即训练数据精度高,测试数据性能差。 防止数据过度拟合的两种流行方法是修剪和随机森林。 修剪是指在不影响树的整体准确性的情况下减小树的大小。

现在让我们讨论随机森林算法。

随机森林的一个主要优点是它既可以用于分类问题,也可以用于回归问题。

顾名思义,一片森林是由几棵树组合而成的。 同样,随机森林算法结合了几种机器学习算法(决策树)以获得更好的准确性。 这也称为集成学习。 在这里,模型之间的低相关性有助于产生比任何单个预测更好的准确性。 即使一些树产生错误的预测,它们中的大多数也会产生正确的预测,因此模型的整体准确性会提高。

与其他机器学习算法一样,随机森林算法可以在 python 和 R 中实现。

何时使用随机森林,何时使用其他模型?

首先,我们需要确定问题是线性的还是非线性的。 然后,如果问题是线性的,我们应该使用简单线性回归,以防只有一个特征存在,如果我们有多个特征,我们应该使用多元线性回归。 但是,如果问题是非线性的,我们应该使用多项式回归、SVR、决策树或随机

森林。 然后使用非常相关的技术来评估模型的性能,例如 k 折交叉验证、网格搜索或 XGBoost,我们可以得出解决我们问题的正确模型。

我怎么知道我应该使用多少棵树?

对于任何初学者,我建议通过实验确定所需的树木数量。 它通常比实际使用技术通过调整和调整模型来找出最佳价值所花费的时间更少。 通过试验多个超参数值,例如树的数量。 尽管如此,可以使用像覆盖 k 折交叉验证和网格搜索这样的技术,它们是确定超参数最优值的强大方法,比如这里的树的数量。

p值可以用于随机森林吗?

在这里,在随机森林的情况下,p 值将是微不足道的,因为它们是非线性模型。

装袋

决策树对他们训练的数据高度敏感,因此容易过度拟合。 然而,随机森林利用了这个问题,并允许每棵树从数据集中随机采样以获得不同的树结构。 这个过程被称为 Bagging。

Bagging 并不意味着创建训练数据的子集。 这只是意味着我们仍在为树提供训练数据,但大小为 N。我们取一个大小为 N(N 个数据点)的样本替换原始数据。

特征重要性

随机森林算法允许我们确定给定特征的重要性及其对预测的影响。 它在训练后计算每个特征的分数,并以将它们相加的方式对它们进行缩放。 这让我们知道要删除哪个特征,因为它们不会影响整个预测过程。 由于特征较少,该模型不太可能成为过度拟合的牺牲品。

超参数

超参数的使用要么增加模型的预测能力,要么使模型更快。

首先, n_estimator参数是算法在进行平均预测之前构建的树的数量。 n_estimator 的高值意味着通过高预测提高性能。 然而,它的高值也减少了模型的计算时间。

另一个超参数是max_features,它是模型在拆分为后续节点之前考虑的特征总数。

此外, min_sample_leaf是拆分内部节点所需的最小叶子数。

最后, random_state用于在选中随机rate的明确值以及相同的超参数和训练数据时生成固定输出。

随机森林算法的优缺点

  1. 随机森林是一种非常通用的算法,能够解决分类和回归任务。
  2. 此外,所涉及的超参数很容易理解,通常,它们的默认值会产生良好的预测。
  3. 随机森林解决了决策树中出现的过拟合问题。
  4. 随机森林的一个限制是,太多的树会使算法的处理速度变慢,从而使其对实时数据的预测无效。

另请阅读:分类算法的类型

结论

随机森林算法是一种非常强大的算法,具有很高的准确性。 它在投资银行、股票市场和电子商务网站领域的实际应用使它们成为一个非常强大的算法。 然而,通过使用神经网络算法可以获得更好的性能,但这些算法有时会变得复杂并且需要更多时间来开发。

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

使用随机森林算法有什么缺点?

随机森林是一种复杂的机器学习算法。 它需要大量处理资源,因为它会生成大量树来查找结果。 此外,与决策树方法等其他算法相比,该技术需要大量的训练时间。 当提供的数据是线性的时,随机森林回归表现不佳。

随机森林算法如何工作?

随机森林由许多不同的决策树组成,类似于森林由许多树组成。 随机森林方法的结果实际上是由决策树的预测决定的。 随机森林方法还减少了数据过度拟合的机会。 随机森林分类使用集成策略来获得所需的结果。 使用训练数据训练各种决策树。 该数据集包含在节点拆分后随机选择的观察值和特征。

决策树与随机森林有何不同?

随机森林只不过是决策树的集合,因此理解起来很复杂。 随机森林比决策树更难阅读。 与决策树相比,随机森林需要更多的训练时间。 然而,在处理庞大的数据集时,随机森林更受青睐。 过拟合在决策树中更为常见。 在随机森林中,过度拟合的可能性较小,因为它们使用了大量的树。