集成学习

    

1.Bagging

Bagging又叫自助聚集,是一种根据均匀概率分布从数据中重复抽样(有放回)的算法

 每个抽样生成的自助样本集上,训练一个基分类器;对训练过的分类器进行投票,将测试样本指派到得票最高的类中。

对于分类和回归问题可采用如下的两种方法:
  1. 分类问题:采用投票的方法,得票最多的类别为最终的类别
  2. 回归问题:采用简单的平均方法

 

2.Adaboost

Adaboost算法有两个权重,一个是弱学习器的权重∂,一个是样本的权重D

核心思想就是一次次地对样本进行训练,每次训练完后都生成两个权重:

                                                          

                                                                                         

 样本根据权重D进行更新,这样每轮学习后都可以学得一个模型hi,最后的模型就是:

                                                   

 每次对分类错误的样本和错误率高的学习器的权重加大

下面是将决策树与这些算法框架进行结合所得到的新的算法:

1)Bagging + 决策树 = 随机森林

2)AdaBoost + 决策树 = 提升树

3)Gradient Boosting + 决策树 = GBDT

3.Stack

Stack的思想有点像神经网络

1.划分训练数据集为两个不相交的集合。
2. 在第一个集合上训练多个学习器。
3. 在第二个集合上测试这几个学习器
4. 把第三步得到的预测结果作为输入,把正确的回应作为输出,训练一个高层学习器

这里弱学习器的结果作为高层学习器的样本的特征

  sklearn中集成学习的函数:

sklearn.ensemble.xxx

 http://scikit-learn.org/stable/modules/classes.html#module-sklearn.ensemble

原文地址:https://www.cnblogs.com/stAr-1/p/8592992.html