随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)( 二 )

https://courses.analyticsvidhya.com/courses/getting-started-with-decision-trees?utm_source=blog&utm_medium=decision-tree-vs-random-forest-algorithm
注:本文的想法是比较决策树和随机森林 。 因此 , 我不会详细解释基本概念 , 但是我将提供相关链接以便于你可以进一步探究 。
随机森林概览
决策树算法很容易理解和解释 。 但是通常来说 , 一棵简单的树并不能产生有效的结果 。 这就是随机森林算法的用武之地 。
随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)
本文插图

随机森林是基于树的机器学习算法 , 该算法利用了多棵决策树的力量来进行决策 。 顾名思义 , 它是由一片树木组成的“森林”!
但是为什么要称其为“随机森林”呢?这是因为它是随机创造的决策树组成的森林 。 决策树中的每一个节点是特征的一个随机子集 , 用于计算输出 。 随机森林将单个决策树的输出整合起来生成最后的输出结果 。
简单来说:
“随机森林算法用多棵(随机生成的)决策树来生成最后的输出结果 。 ”
随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)
本文插图

这种结合了多个单一模型的输出(也被称为弱学习)的过程被称为集成学习 。 如果你想阅读更多关于随机森林和其他集成学习算法如何工作 , 请查阅一下文章:

  • 从零开始构建一个随机森林&理解真实世界的数据产品
https://www.analyticsvidhya.com/blog/2018/12/building-a-random-forest-from-scratch-understanding-real-world-data-products-ml-for-programmers-part-3/?utm_source=blog&utm_medium=decision-tree-vs-random-forest-algorithm
  • 随机森林超参数调优——一个初学者的指南
https://www.analyticsvidhya.com/blog/2020/03/beginners-guide-random-forest-hyperparameter-tuning/?utm_source=blog&utm_medium=decision-tree-vs-random-forest-algorithm
  • 集成学习的综合指南(使用Python代码)
https://www.analyticsvidhya.com/blog/2018/06/comprehensive-guide-for-ensemble-models/?utm_source=blog&utm_medium=decision-tree-vs-random-forest-algorithm
  • 如何在机器学习中建立集成模型?( R代码)
https://www.analyticsvidhya.com/blog/2017/02/introduction-to-ensembling-along-with-implementation-in-r/?utm_source=blog&utm_medium=decision-tree-vs-random-forest-algorithm
现在的问题是 , 我们怎样选择决策树和随机森林算法呢?让我们在做出结论之前 , 先看看过两种算法的具体情况 。
随机森林和决策树的冲突(代码)
本部分 , 我们将使用Python实现决策树和随机森林算法来解决一道二分类问题 。 我们接下来将会比较它们的结果并看一看那种更适合解决我们的问题 。
我们将基于Analytics Vidhya’s DataHack(https://datahack.analyticsvidhya.com/contest/practice-problem-loan-prediction-iii/?utm_source=blog&utm_medium=decision-tree-vs-random-forest-algorithm)平台的贷款预测数据集进行分析 。 这是一个二分类问题 , 我们需要基于特定的特征集来决定一个人是否可被批准获得贷款 。
注:你可以去DataHack(https://datahack.analyticsvidhya.com/contest/all/?utm_source=blog&utm_medium=decision-tree-vs-random-forest-algorithm )平台并在不同在线机器学习竞赛中与他人竞争 , 并且有机会获得令人兴奋的奖品 。
准备好编程了吗?
第一步:加载库和数据集


推荐阅读