在众多的机器学习算法中,随机森林算法因其出色的预测性能而广受欢迎。本文将探讨随机森林算法的原理,并以一个实际案例来说明其应用。随机森林算法虽然在模型输出上类似于一个黑箱,但其强大的预测能力使其在各种竞赛中备受青睐,如Kaggle上的比赛。然而,在使用时应谨慎,因为它的输出结果可能难以解释。
昨日,观看了一部名为《明日边缘》的电影,电影的构思和背后的思维过程令印象深刻。让来概述一下剧情(当然,不会透露高潮部分)。与其他科幻电影不同,这部电影围绕一个双方都拥有的能力展开——即重置时间的能力。人类正在与一个名为“拟态”的外星种族交战。拟态被描述为一个更为进化的外星文明,整个拟态文明就像一个完整的有机体。它有一个中央大脑“欧米茄”,指挥着文明中的所有其他生物。它每时每刻都与文明中的所有其他物种保持联系。“阿尔法”是这个文明的主要战士物种(类似于神经系统),它从“欧米茄”那里接受命令。“欧米茄”有能力在任何时候重置时间。
现在,让以预测分析师的身份来分析这个剧情。如果一个系统有能力在任何时候重置时间,那么每当它的战士物种死亡时,它就会使用这种力量。因此,实际上不会有任何战争,当任何战士物种(阿尔法)死亡时,大脑“欧米茄”将反复测试最佳情况,以最大化人类种族的死亡,并限制阿尔法(战士物种)的死亡数量为零。可以将这想象为“最佳”的预测算法。实际上,这样的算法是不可能被击败的。
以下是不同国家年度收入基尼系数的分布情况:墨西哥的基尼系数排名第二,因此贫富之间的年度收入差距非常大。任务是提出一个准确的预测算法,以估计墨西哥每个人的年度收入范围。收入范围如下:
以下是每个人的可用信息:
需要提出一个算法,为具有以下特征的个体提供准确的预测:
本文将仅讨论如何使用随机森林进行此预测。
随机森林算法类似于决策树(CART)模型的自助法。假设有1000个观测值和10个变量。随机森林尝试构建多个具有不同样本和不同初始变量的CART模型。例如,它将随机抽取100个观测值和5个随机选择的初始变量来构建CART模型。它将重复这个过程(比如说)10次,然后对每个观测值做出最终预测。最终预测是每个预测的函数。这个最终预测可以简单地是每个预测的平均值。
免责声明:本文中的数字是示意性的。假设墨西哥有1.18亿人口。假设随机森林算法选择了1万个观测值,并且只使用一个变量(为了简单)来构建每个CART模型。总的来说,正在寻找5个使用不同变量构建的CART模型。在实际问题中,将拥有更多的人口样本和不同的输入变量组合。
薪资范围:
以下是5个不同CART模型的输出。
使用这5个CART模型,需要为每个薪资类别得出一组单一的概率。为了简单起见,将只取概率的平均值。除了简单的平均值,还考虑投票方法来得出最终预测。为了得出最终预测,让在每个CART模型中定位以下个人资料:
对于这些CART模型中的每一个,以下是薪资范围的分布情况:
最终概率仅仅是不同CART模型中相同薪资范围概率的平均值。正如从这个分析中看到的,这个人有70%的几率属于类别1(低于40,000美元),大约有24%的几率属于类别2。
与简单的CART/CHAID或回归模型相比,随机森林在许多情况下提供了更准确的预测。这些情况通常具有大量的预测变量和巨大的样本量。这是因为它同时捕捉了多个输入变量的方差,并允许大量的观测参与预测。在接下来的一些文章中,将更详细地讨论这个算法,并讨论如何在R上构建一个简单的随机森林。