如果你在解决一个问题时实现了多种模型,但是每个模型的效果都差不多,但是你想要进一步提升最后预测效果,那么本文将强烈建议你使用集成学习算法来实现!
集成学习算法指的是将已有的多种模型综合起来,实现最终分类或者回归。一般而言,集成学习可以提高原有算法模型的准确性。
本系列文章将讲解常见的三种集成学习算法Bagging,Boosting和MajorityVoting,并演示集成模型是如何提升在数据集上的准确性。这三种算法的大致含义为:
Bagging:将多种无依赖的弱学习器进行综合,形成一个强学习器。Boosting:将多种有相互依赖的弱学习器进行综合,形成一个强学习器。MajorityVoting:通过投票机制,综合多个弱学习器的预测结果,选择投票最多的预测结果。在这篇文章中,将主要讲解Bagging算法的常见三种模型,并介绍如何使用scikit-learn实现这三种模型。后面几篇文章将讲解Boosting和MajorityVoting算法。
Bagging算法
Bagging算法指的是利用数据集训练多个子模型,然后对多个子模型进行综合,最终对所有子模型预测结果取平均值,作为最终的模型预测结果。
Bagging算法的常见三种模型如下:
决策树随机森林极端随机树下面对这三种模型进行介绍,并利用scikit-learn实现这三种模型。
决策树
对多种差异比较明显的模型进行Bagging时,往往最终效果会非常好。常见的模型为决策树模型,一般决策树模型是在未剪枝情况下构建的。
在下面代码中,共创造了棵树。主要