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

  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. 机器学习-LR推导及与SVM的区别

    之前整理过一篇关于逻辑回归的帖子,但是只是简单介绍了一下了LR的基本思想,面试的时候基本用不上,那么这篇帖子就深入理解一下LR的一些知识,希望能够对面试有一定的帮助. 1.逻辑斯谛分布 介绍逻辑斯谛回 ...

  2. Class__Two

    今天老师要求做查找英文文章中最高频的词  文章用文本储存 import java.io.BufferedReader;import java.io.File;import java.io.FileIn ...

  3. 【Alpha版本】冲刺阶段——Day1

    [Alpha版本]冲刺阶段--Day1 阅读目录 Alpha 阶段成员分工及任务量 团队成员贡献值的计算规则 明日任务 今日贡献量 站立式会议 TODOlist [Alpha 阶段成员分工及任务量] ...

  4. 什么是redis,redis简介

    redis是一个key-value存储系统.包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型). 高可用分布式集群 一, ...

  5. Vue.js是什么,vue介绍

    Vue.js是什么,vue介绍 Vue.js 是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. ...

  6. highchart 柱状图 分组样例

    var chart = Highcharts.chart('container',{ chart: { type: 'column' }, title: { text: '月平均降雨量' }, sub ...

  7. 【移动端】js禁止页面滑动与允许滑动

    禁止页面滑动 通常静止滑动方案:(阻止滑动事件) window.ontouchmove=function(e){ e.preventDefault && e.preventDefaul ...

  8. scrapy instantiation

    start from scrapy.cmdline import execute execute(['scrapy', 'crawl', 'jokespider']) items.py import ...

  9. PHP多进程非阻塞模式下结合原生Mysql与单进程效率测试对比

    公司在做游戏服务器合并的时候,对大批量数据表做了合并操作,难免会出现数据格式不一致问题.根据玩家反映BUG排查,是因为某个模块下日志表出现了数据格式问题导致. 目前想到的是有两种方案解决,第一种就是把 ...

  10. golang Format string by key.

    example: $ go get github.com/hoisie/mustache package main import ( "github.com/hoisie/mustache& ...