机器学习 —— Stacking算法
之前一直对stacking一知半解,找到的资料也介绍的很模糊。。所以有多看了几篇文章,然后来此写篇博客,加深一下印象,顺便给各位朋友分享一下。
stacking的过程有一张图非常经典,如下:
虽然他很直观,但是没有语言描述确实很难搞懂。
上半部分是用一个基础模型进行5折交叉验证,如:用XGBoost作为基础模型Model1,5折交叉验证就是先拿出四折作为training data,另外一折作为testing data。注意:在stacking中此部分数据会用到整个traing set。如:假设我们整个training set包含10000行数据,testing set包含2500行数据,那么每一次交叉验证其实就是对training set进行划分,在每一次的交叉验证中training data将会是8000行,testing data是2000行。
每一次的交叉验证包含两个过程,1. 基于training data训练模型;2. 基于training data训练生成的模型对testing data进行预测。在整个第一次的交叉验证完成之后我们将会得到关于当前testing data的预测值,这将会是一个一维2000行的数据,记为a1。注意!在这部分操作完成后,我们还要对数据集原来的整个testing set进行预测,这个过程会生成2500个预测值,这部分预测值将会作为下一层模型testing data的一部分,记为b1。因为我们进行的是5折交叉验证,所以以上提及的过程将会进行五次,最终会生成针对testing set数据预测的5列2000行的数据a1,a2,a3,a4,a5,对testing set的预测会是5列2500行数据b1,b2,b3,b4,b5。
在完成对Model1的整个步骤之后,我们可以发现a1,a2,a3,a4,a5其实就是对原来整个training set的预测值,将他们拼凑起来,会形成一个10000行一列的矩阵,记为A1。而对于b1,b2,b3,b4,b5这部分数据,我们将各部分相加取平均值,得到一个2500行一列的矩阵,记为B1。
以上就是stacking中一个模型的完整流程,stacking中同一层通常包含多个模型,假设还有Model2: LR,Model3:RF,Model4: GBDT,Model5:SVM,对于这四个模型,我们可以重复以上的步骤,在整个流程结束之后,我们可以得到新的A2,A3,A4,A5,B2,B3,B4,B5矩阵。
在此之后,我们把A1,A2,A3,A4,A5并列合并得到一个10000行五列的矩阵作为training data,B1,B2,B3,B4,B5并列合并得到一个2500行五列的矩阵作为testing data。让下一层的模型,基于他们进一步训练。
以上即为stacking的完整步骤!
转载地址:
http://blog.csdn.net/wstcjf/article/details/77989963
机器学习 —— Stacking算法相关推荐
- 机器学习之集成学习(Boosting算法、Bagging算法、Stacking算法)总结
1.集成学习概述 机器学习分为有监督学习算法和无监督学习算法.在有监督学习中,我们的目标是学习一个稳定的且各方面都表现较好的模型.但是,实际情况往往不理想,有时我们只能得到多个在某些方面表现比较好的& ...
- 机器学习-Stacking方法的原理及实现
Stacking 简述 主要的三类集成学习方法为Bagging.Boosting和Stacking.目前,大型的数据挖掘比赛(如Kaggle),排名靠前的基本上都是集成机器学习模型或者深度神经网络. ...
- [机器学习] Boosting算法2 --- GBDT
[机器学习] Boosting算法1 --- AdaBoost [机器学习] Boosting算法2 --- GBDT [机器学习] Boosting算法3 --- XGBoost [机器学习] Bo ...
- 集成学习算法的思想、通过集成学习提高整体泛化能力的前提条件、如何得到独立的分类器Bagging、Boosting、Stacking算法
集成学习算法 Ensemble learning algorithm 目的:让机器学习的效果更好,单个的分类器如果表现的好,那么能不能通过使用多个分类器使得分类效果更好呢?或者如果单个分类器分类效果不 ...
- 个人总结:机器学习与算法工程师方向面试题及答案(持续更新)
机器学习与算法工程师方向面试题及答案 1.快速排序 2.列表中是否有这个数--二分查找 3.拉格朗日对偶性 4.k-means原理及复杂度 5.逻辑回归和SVM区别 6.过拟合问题怎么解决 7.PCA ...
- 【Stacking改进】基于随机采样与精度加权的Stacking算法
[Stacking改进]基于随机采样与精度加权的Stacking算法 摘要 近年来,人工智能的强势崛起让我们领略到人工智能技术的巨大潜力,机器学习也被广泛应用于各个领域,并取得不错的成果.本文以Kag ...
- 机器学习与算法面试太难?
机器学习与算法面试太难? 来源: https://mp.weixin.qq.com/s/GrkCvU2Ia_mEaQmiffLotQ 作者:石晓文 八月参加了一些提前批的面试,包括阿里.百度.头条.贝 ...
- 免费技术直播:唐宇迪带你一节课了解机器学习经典算法
常常有小伙伴在后台反馈:机器学习经典算法有哪些? 自学难度大又没有效果,该怎么办? CSDN为了解决这个难题,联合唐宇迪老师为大家带来了一场精彩的直播[一节课掌握机器学习经典算法-线性回归模型].本次 ...
- 15分钟带你入门sklearn与机器学习——分类算法篇
作者 | 何从庆 本文转载自AI算法之心(ID:AIHeartForYou) [导读]众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机 ...
最新文章
- 单片机有什么好的网课?
- 从一次react异步setState引发的思考
- Windows 下单机最大TCP连接数
- html为什么div移动不了,如何使用Jquery将html从一个div移动到另一个div而不会破坏javascript...
- 编译原理词法分析实验
- python 中csv怎么用_python中不同的CSV功能和使用
- 20190815 On Java8 第五章 控制流
- 递归下降分析法的基本思想。_八大算法思想总结提高
- (转)2017德勤技术趋势报告:未来8年,机器智能如何创造价值
- C++实现binary文件读取(可对‘bil‘,‘bsq‘ float32,double,unchar,unit16,unit8等格式进行读取)
- 国产银河麒麟 安装wps 的简单方法
- dateutil 日期计算_时间工具——DateUtil
- 如何解决苹果账号续费时支付失败的问题
- mysql特性—自适应哈希索引AHI
- win 7 与 virtualbox ubuntu 共享文件夹
- 用DevExpress.Xpo 直接维护后台的 数据表,在这四列中录入的数据,即时插入或更新到关联的数据表中
- 【软考软件评测师】2019综合知识历年真题
- Q:python编码
- powershell自定义字体
- Pytorch实现mnist手写数字识别