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

  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. vuejs-devtools浏览器调试chrome插件

    vuejs-devtools浏览器调试chrome插件(360极速浏览器也可以安装,需要FQ)https://chrome.google.com/webstore/detail/vuejs-devto ...

  2. java中的关键字、保留字、标识符

    Java关键字(KeyWord):  对Java的编译器有特殊的意义,他们用来表示一种数据类型或者表示程序的结构. Java保留字(Reserved Word):为Java预留的关键字,现在还没有用到 ...

  3. sitemap index

    https://docs.djangoproject.com/en/2.1/ref/contrib/sitemaps/ very good

  4. Elasticstarch 相关

    索引: 在Elasticsearch中存储数据的行为就叫做索引(indexing),不过在索引之前,我们需要明确数据应该存储在哪里. 在Elasticsearch中,文档归属于一种类型(type),而 ...

  5. Golang时间函数及测试函数执行时间案例

    package main import ( "fmt" "time" ) func main(){ //[时间获取及格式化] //获取当前时间 now_time ...

  6. 初识wxPython

    wxPython是包装C++编写的wxWidgets跨平台的GUI组件 安装wxPython pip install wxpython import wx def load(event): file ...

  7. 4、pandas的数据筛选之isin和str.contains函数

    DataFrame列表: 以>,<,==,>=,<=来进行选择(“等于”一定是用‘==’,如果用‘=’就不是判断大小了): 使用 &(且) 和 |(或) 时每个条件都要 ...

  8. 03: pip使用

    1.1 pip常用方法 1.自我升级(升级pip到最新版本) pip install --upgrade pip 2. 安装库 pip install XXX 3. 查看当前环境所有已安装的库 pip ...

  9. python简说(七)元组,集合

    一.元组 元组也是一个list,但是它的值不能改变 定义元组的时候,只有一个元素,后面得加逗号 oracle_info = (123,) 二.集合 1.集合天生就可以去重,集合是无序的 2.#交集 r ...

  10. 跟阿铭学Linux习题答案

    第一章:走进Linux 1.简述它的发展历史,列举几种代表性的发行版 Linux之前是Unix,由于Unix收费昂贵,so,Richard Stallman 发起了开发自由软件的运动,并成立了自由软件 ...