本文的课程来源:
https://www.bilibili.com/video/av23908372/?p=3
集成模型需要各种各样的子模型:
但同时我们又不需要很高的准确率:
随着子模型地增加,总体准确率上升。
具体地,创建差异(每个子模型是看样本数据的一部分)有两种方式:
下面用代码来实现一个集成学习:
准备数据:
使用Bagging训练数据:
n_estimators 表示子模型的个数,max_samples表示每个子模型的样本数目,bootstrap表示是Bagging或者Pasting
对于Bagging方法来说,实际上约有三分之一的数据取不到:
那么,我们可以直接用这部分的数据来当作测试样本,加入oob_score属性即可,代码如下:
关于Bagging的更多探讨:
下面开始介绍Boosting:
Boosting中子模型之间不是独立的,每个模型都在尝试增强整体的效果。
Ada Boosting:
Gradient Boosting:
这种方法是每次对误差值进行训练。
来源:CSDN
作者:少儿西笑
链接:https://blog.csdn.net/weixin_42936560/article/details/81810752