目的:让机器学习效果更好,单个不行,群殴啊!

  Bagging:训练多个分类器取平均

      

  Boosting:从弱学习器开始加强,通过加权来进行训练

      

      (加入一棵树,比原来要强)

  Stacking:聚合多个分类或回归模型(可以分阶段来做)

bagging模型

  全称:bootstrap aggregation(说白了就是并行训练一堆分类器)

  最典型代表:随机森林

  随机:数据采样随机,特征选择随机

  森林:很多个决策树并行放在一起

      

  构造树模型

    

  由于二重随机性,使得每个树基本上都不会一样,最终的结果也会不一样。

  树模型:

    

  之所以要进行随机,是要保证泛化能力,如果树都一样,就没有意义了。

 随机森林优势

  能够处理很高维度(feature很多)的数据,并且不用做特征选择

  在训练完后,它能够给出哪些feature比较重要

  容易做成并行化方法,速度比较快

  可以进行可视化展示,便于分析

  

KNN模型

      

  KNN就不太适合,因为很难去随机让泛化能力变强!

树模型

  理论上越多的树效果会越好,但实际上基本超过一定数量就差不多上下浮动了。

Boosting模型

  典型代表:AdaBoost,Xgboost

  Adaboost会根据前一次的分类效果调整数据权重

  如果某一个数据在这次分错了,那么在下一次就会给它更大的权重

  最终结果:每个分类器根据自身的准确性来确定各自的权重,再合体

Adaboost工作流程

  每一次切一刀

  最终合在一起

  弱分类器就升级了

   

Stacking模型

  堆叠:很暴力,拿来一堆直接上(各种分类器都来了)

  可以堆叠各种各样的分类器(KNN,SVM,RF等等)

  分阶段:第一阶段得出各自结果,第二阶段再用前一阶段结果训练

  为了刷结果,不择手段!

  堆叠在一起确实能使得准确率提升,但是速度是个问题

  集成算法是竞赛与论文神器,当我们更关注与结果时不妨试试!

集成算法——Ensemble learning的更多相关文章

  1. 【Supervised Learning】 集成学习Ensemble Learning & Boosting 算法(python实现)

    零. Introduction 1.learn over a subset of data choose the subset uniformally randomly (均匀随机地选择子集) app ...

  2. 笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting

    本杂记摘录自文章<开发 | 为什么说集成学习模型是金融风控新的杀手锏?> 基本内容与分类见上述思维导图. . . 一.机器学习元算法 随机森林:决策树+bagging=随机森林 梯度提升树 ...

  3. 【软件分析与挖掘】Multiple kernel ensemble learning for software defect prediction

    摘要: 利用软件中的历史缺陷数据来建立分类器,进行软件缺陷的检测. 多核学习(Multiple kernel learning):把历史缺陷数据映射到高维特征空间,使得数据能够更好地表达: 集成学习( ...

  4. 6. 集成学习(Ensemble Learning)算法比较

    1. 集成学习(Ensemble Learning)原理 2. 集成学习(Ensemble Learning)Bagging 3. 集成学习(Ensemble Learning)随机森林(Random ...

  5. 第七章——集成学习和随机森林(Ensemble Learning and Random Forests)

    俗话说,三个臭皮匠顶个诸葛亮.类似的,如果集成一系列分类器的预测结果,也将会得到由于单个预测期的预测结果.一组预测期称为一个集合(ensemble),因此这一技术被称为集成学习(Ensemble Le ...

  6. 7. 集成学习(Ensemble Learning)Stacking

    1. 集成学习(Ensemble Learning)原理 2. 集成学习(Ensemble Learning)Bagging 3. 集成学习(Ensemble Learning)随机森林(Random ...

  7. 5. 集成学习(Ensemble Learning)GBDT

    1. 集成学习(Ensemble Learning)原理 2. 集成学习(Ensemble Learning)Bagging 3. 集成学习(Ensemble Learning)随机森林(Random ...

  8. 3. 集成学习(Ensemble Learning)随机森林(Random Forest)

    1. 集成学习(Ensemble Learning)原理 2. 集成学习(Ensemble Learning)Bagging 3. 集成学习(Ensemble Learning)随机森林(Random ...

  9. 4. 集成学习(Ensemble Learning)Adaboost

    1. 集成学习(Ensemble Learning)原理 2. 集成学习(Ensemble Learning)Bagging 3. 集成学习(Ensemble Learning)随机森林(Random ...

随机推荐

  1. 转:MD5辅助类

    public class MD5Helper { private static MD5 md5 = new MD5CryptoServiceProvider(); private static str ...

  2. 51nod 1130 N的阶乘的长度 V2(斯特林近似)

    输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3.   Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 1000) 第2 - T + ...

  3. 如何用nginx在本地把9000端口转发到80端口上

    起因看到一个用java写的轻博客,于是就兴致冲冲的试用一下.由于是lnmp的环境,Nginx占用了80端口,新博客只能用其他的端口,这里选择了9000端口,本地测试没问题.总不能访问了域名然后在加上端 ...

  4. input file accept类型

    Valid Accept Types: For CSV files (.csv), use: <input type="file" accept=".csv&quo ...

  5. SpringMVC中参数接收

    /** *  * SpringMVC中参数接收 * 1.接收简单类型 int String * 2.可以使用对象pojo接收 * 3.可以使用集合数据接收参数 * 页面: name="ids ...

  6. Docker学习笔记之Docker应用于服务化开发

    0x00 概述 上一节里我们谈到了小型的独立项目如何使用 Docker Compose 来搭建程序的运行环境,对于由多人或多部门参与的中大型服务化架构的项目,仅由一个 Docker Compose 项 ...

  7. 通过RMAN 识别失败数据库损坏的对象

    背景 业务起不来,读取数据库时报坏块,无法读取数据 数据库版本:11.2.0.3 数据库无备份,无归档 1. 识别坏块 执行以下命令后,rman 会把坏块信息统计到 v$database_block_ ...

  8. Mysql 存储过程中使用多游标

    Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...

  9. Python3 解析XML 层序遍历二叉树

    Python3 解析XML 层序遍历二叉树 keyword : python3, xml, xml.dom.minidom, 层序遍历, 层次遍历, 二叉树 part1 问题描述 面对如下 XML 文 ...

  10. BootstrapTable(附源码)

    Bootstrap结合BootstrapTable的使用,分为两种模试显示列表. 引用的css: <link href="@Url.Content("~/Css/bootst ...