一种基于Spark的改进随机森林算法
2021-08-12段文杰童孟军
计算机应用与软件 2021年8期
段文杰 童孟军
1(浙江农林大学信息工程学院 浙江 杭州 311300)2(浙江省林业智能监测与信息技术研究重点实验室 浙江 杭州 311300)
0 引 言
随机森林算法是一种基于树模型的集成学习算法,通过训练多棵决策树以获得最终的预测结果,并且在训练过程中对输入特征和样本进行随机抽样,增加了一定的随机性,避免了高相关性的特征在多次训练中造成的干扰,因此具有较好的泛化能力。然而,传统随机森林算法没有对分类能力不同的决策树进行区分,导致分类能力好的决策树和分类能力不好的决策树具有相同的投票能力,而且在训练过程中需要生成多棵决策树,导致算法的运行时间较长。彭徵等[1]提出了基于随机森林的文本分类并行化研究,通过对训练样本进行欠取样来减少不平衡数据对随机森林算法的影响,提高了随机森林算法的分类精度,并结合Spark并行化方法减少了算法的运行时间,但并没有在Spark层面上进行改进,仅仅只是应用了Spark并行化的特点。王日升[2]进行了基于Spark的一种改进的随机森林算法研究,通过设置阈值来剔除那些分类能力弱的决策树从而改进随机森林算法并在Spark单机模式下进行实验,但通过简单设置阈值的方式可能会导致部分有用的决策树被剔除,影响最终结果,而且仅仅只是在Spark单机模式下进行实验,没有达到Spark并行化运行的条件。Chen等[3]进行了分布式并行随机森林算法在生物医学上的应用研究,提出了一种通过袋外测试的方法对随机森林算法进行加权投票,并提出了利用垂直数据划分的方法来降低Spark分布式计算节点之间的数据通信成本。……
登录APP查看全文
