bagging是一种用来提高学习算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将它们组合成一个预测函数。
它使用bootstrap抽样,
其基本思想是:将一个弱学习算法使用多次(每次使用一个放回的重复抽样),并对结果进行投票,最后选取投票多的结果作为最终的结果(也可以通过得票的平均值用于连续值的预测)。
bagging对使用的分类算法有要求,必须为不稳定的算法(不稳定是指数据集的小的变动能够使分类结果显著的变动)比如:决策树,神经网络算法、svm等。
与随机森林区别
1.循环t次随机的有放回的选取N个样本形成t个训练集也是只Bootstrap中随机选择子样本
2.对这t个训练集选取m个特征(小于总特征数)建立多个决策树(每个数都随机选取m个,完全生长,不剪枝),每个节点分裂选取属性的方式用cart的方式选择最优
3.选取结果多的类别作为最终分类结果
一般来说随机森林算法优于bagging算法