集成学习笔记

时光毁灭记忆、已成空白 提交于 2019-12-01 05:50:35

本文的课程来源:
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:
这种方法是每次对误差值进行训练。
这里写图片描述
这里写图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!