Leo Breiman提出的随机森林(Random Forests)分类算法是一种包含多棵决策树的分类器,简单地说,随机森林就是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一颗决策树之间是没有关联的,在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵树分别进行一下判断,然后看看选择的哪一个类最多,就预测这个样本为那一类。随机森林算法主要包括决策树的生长和投票过程。
生长步骤。
(1)从容量为n的原始训练集S样本数据中采取放回抽样的方法随机抽取自助样本集,重复N次(N为决策树的个数),形成N个新的训练集Si(i=1,2,…,N),每个训练集生成一棵树。
(2)每个自助样本集生长为单棵分类树,该自助样本集是单棵分类树的全部训练数据。设共有w个输入特征属性,则在树的每个节点处从w特征属性随机选择v(v≤w)个特征属性,按照节点不纯度最小的原则从这v个特征属性中选择一个进行分支生长,然后再分别递归调用上述过程构造各个分支,直到这棵树能准确地分类训练集或所有属性都已被使用过。在整个森林的生长过程中v保持恒定。
(3)分类树为了达到低偏差和高差异而要充分生长,使每一个节点的不纯度达到最小,不进行通常的剪枝操作。
投票过程。
随机森林采用Bagging方法生成多个决策树分类器,基本思想:(www.daowen.com)
(1)给定一个弱学习算法和一个训练集;
(2)单个弱学习算法准确率不高;
(3)将该学习算法使用多次,得出预测函数序列进行投票;
(4)最后结果准确率将得到提高。
随机森林分类算法基本思想是每次随机选取一些特征,独立建立树,重复这个过程,保证每次建立树时变量选取的可能性一致,如此建立许多彼此独立的树,最终的分类结果由产生的这些树共同决定。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。