云主机做网站永久保留网站,重庆公司注册核名官网,wordpress 图片调用api接口,企业网站模板用哪个随机森林是一种灵活#xff0c;易于使用的机器学习算法#xff0c;即使没有超参数调整#xff0c;也能在大多数情况下产生出色的结果。它也是最常用的算法之一#xff0c;因为它简单#xff0c;并且可以用于分类和回归任务。在这篇文章中#xff0c;您将学习随机森林算法…随机森林是一种灵活易于使用的机器学习算法即使没有超参数调整也能在大多数情况下产生出色的结果。它也是最常用的算法之一因为它简单并且可以用于分类和回归任务。在这篇文章中您将学习随机森林算法如何工作以及其他几个重要的事情。目录这个怎么运作真实生活类比特征重要性决策树与随机森林的区别重要的超参数预测能力速度优点和缺点用例摘要这个怎么运作随机森林是一种监督学习算法。就像你已经从它的名字中看到的一样它创造了一个森林并使它在某种程度上是随机的。它构建的“森林”是决策树的集合大部分时间都是用“装袋”方法训练的。装袋方法的一般思想是学习模型的组合增加了整体结果。用简单的话来说随机森林构建多个决策树并将它们合并在一起以获得更准确和稳定的预测。随机森林的一大优势是它可以用于分类和回归问题这些问题构成了当前机器学习系统的大部分。我将在分类中讨论随机森林因为分类有时被认为是机器学习的基石。您可以在下面看到随机森林如何使用两棵树随机森林具有与决策树或装袋分类器几乎相同的超参数。幸运的是您不必将决策树与装袋分类器组合在一起只需轻松使用随机森林的分类器类即可。就像我已经说过的使用Random Forest你也可以使用Random Forest回归量来处理回归任务。随机森林为模型增加了额外的随机性同时种植树木。它不是在分割节点时搜索最重要的特征而是在随机特征子集中搜索最佳特征。这导致了广泛的多样性通常导致更好的模型。因此在随机森林中用于分割节点的算法仅考虑特征的随机子集。您甚至可以通过为每个特征使用随机阈值而不是搜索最佳可能阈值如正常决策树那样来使树更随机。真实生活类比想象一下一个名叫安德鲁的人想要决定在一年的假期旅行中应该去哪些地方。他问那些认识他的人。首先他去找一位朋友朋友问安德鲁之前他去过哪里他是否喜欢。根据答案他会给安德鲁一些建议。这是典型的决策树算法方法。安德鲁斯的朋友通过使用安德鲁的答案创建了规则以指导他决定应该向安德鲁推荐什么。之后安德鲁开始要求越来越多的朋友给他建议他们再次问他不同的问题他们可以从中得到一些建议。然后他选择了对他最推荐的地方这是典型的随机森林算法方法。特征重要性随机森林算法的另一个高质量是很容易测量每个特征对预测的相对重要性。Sklearn为此提供了一个很好的工具它可以通过查看使用该功能的树节点减少森林中所有树木的杂质来测量特征的重要性。它会在训练后自动为每个要素计算此分数并对结果进行缩放以使所有重要性的总和等于1。如果你不知道决策树是如何工作的如果你不知道叶子或节点是什么这里是维基百科的一个很好的描述在决策树中每个内部节点代表一个属性的“测试”例如硬币正面还是反面朝上每个分支代表测试的结果每个叶节点代表一个类标签在计算所有属性后作出决定。 没有子节点的节点是叶子。通过查看特征重要性您可以决定要删除哪些特征因为它们对预测过程没有足够的贡献或没有贡献。这很重要因为机器学习的一般规则是您拥有的特征越多您的模型就越容易受到过度拟合的影响反之亦然。下面你可以看到一个表格和一个可视化它显示了13个特征的重要性我在监督分类项目中使用了有名的泰坦尼克号数据集。你可以在这里找到整个项目。决策树与随机森林之间的差异就像我已经提到的随机森林是决策树的集合但是存在一些差异。如果您将具有要素和标签的训练数据集输入到决策树中它将制定一组规则用于进行预测。例如如果您想预测一个人是否会点击在线广告您可以收集过去点击过的人的广告以及描述他的决定的一些功能。如果将功能和标签放入决策树中它将生成一些规则。然后您可以预测广告是否会被点击。相比之下随机森林算法随机选择观察和特征来构建几个决策树然后平均结果。另一个区别是“深层”决策树可能会受到过度拟合的影响。随机森林通过创建特征的随机子集并使用这些子集构建较小的树来防止过度拟合。之后它结合了子树。请注意这不会每次都起作用并且它还会使计算速度变慢具体取决于随机林构建的树数。重要的超参数随机森林中的超参数用于增加模型的预测能力或使模型更快。我将在这里谈谈sklearns内置随机森林函数的超参数。1.增加预测能力首先有“n_estimators”超参数它只是算法在进行最大投票或取平均预测之前构建的树数。通常更多数量的树会提高性能并使预测更稳定但它也会减慢计算速度。另一个重要的超参数是“max_features”它是Random Forest考虑拆分节点的最大特征数。Sklearn提供了几个选项在他们的文档中有描述。我们将在速度方面讨论的最后一个重要的超参数是“min_sample_leaf”。与其名称一样这确定了拆分内部节点所需的最小叶子数。2.提高模型速度该“n_jobs”超参数告诉引擎是多少处理器允许使用。如果它的值为1则它只能使用一个处理器。值“-1”表示没有限制。“random_state”使模型的输出可复制。当模型具有random_state的确定值并且已经给出相同的超参数和相同的训练数据时该模型将始终产生相同的结果。最后还有“oob_score”也称为oob采样它是一种随机森林交叉验证方法。在此抽样中大约三分之一的数据不用于训练模型可用于评估其性能。这些样品称为袋外样品。它与留一法交叉验证方法非常相似但几乎没有额外的计算负担。优点和缺点就像我已经提到的随机森林的一个优点是它可以用于回归和分类任务并且很容易查看它分配给输入要素的相对重要性。随机森林也被认为是一种非常方便易用的算法因为它的默认超参数通常会产生良好的预测结果。超参数的数量也不是那么高而且它们很容易理解。机器学习中的一个重大问题是过度拟合但大多数情况下这对于随机森林分类器来说不容易发生。那是因为如果森林中有足够的树分类器就不会过度拟合模型。随机森林的主要局限在于大量决策树可以使算法减慢并且对实时预测无效。一般来说这些算法训练速度很快但一旦训练完成预测就很慢。更准确的预测需要更多的树这导致更慢的模型。在大多数实际应用中随机森林算法足够快但肯定存在运行时性能很重要而其他方法更受欢迎的情况。当然随机森林是一种预测建模工具而不是一种描述性工具。这意味着如果您正在寻找数据中关系的描述则首选其他方法。用例随机森林算法用于许多不同的领域如银行股票市场医药和电子商务。例如在银行业中它用于检测将比其他人更频繁地使用银行服务的客户并及时偿还他们的债务。在此域中它还用于检测想要诈骗银行的欺诈客户。在金融领域它用于确定未来股票的行为。在医疗保健领域它用于识别医学中组分的正确组合并分析患者的病史以识别疾病。最后在电子商务中随机森林用于确定客户是否真的喜欢该产品。摘要随机森林是一个很好的算法可以在模型开发过程的早期进行训练看看它是如何执行的并且由于其简单性很难建立一个“坏”的随机森林。如果您需要在短时间内开发模型此算法也是一个很好的选择。最重要的是它提供了一个非常好的指标表明它为您的功能赋予的重要性。随机森林在性能方面也很难被击败。当然您可能总能找到一个能够表现更好的模型比如神经网络但这些通常需要花费更多的时间进行开发。最重要的是它们可以处理许多不同的要素类型如二进制分类和数字。总体而言随机森林是一种大多数快速简单和灵活的工具尽管它有其局限性。点击英文原文 https://towardsdatascience.com/the-random-forest-algorithm-d457d499ffcd更多文章欢迎访问: http://www.apexyun.com公众号:银河系1号联系邮箱publicspace-explore.com(未经同意请勿转载)