【机器学习】集成学习各方法优缺点特征总结
随机森林
优点
- 具有极高的准确率
- 随机性的引入,使得随机森林不容易过拟合,有很好的抗噪声能力,对异常点离群点不敏感
- 能处理很高维度的数据,并且不用做特征选择
- 既能处理离散型数据,也能处理连续型数据,数据集无需规范化(归一化)
- 实现简单,训练速度快,可以得到变量重要性排序(计算每个特征在分裂时被选到的次数或者某个特征不纯度平均下降了多少)
- 容易实现并行化
- 在创建随机森林的时候,对generlization error使用的是无偏估计,不需要额外的验证集
缺点
- 随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟合
- 对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。
- 随机森林模型还有许多不好解释的地方,有点算个黑盒模型
Adaboost
优点
- 用于二分类或多分类的应用场景
- 在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,非常灵活。
- 无脑化,简单,不会overfitting,不用调分类器
- 不需要归一化
- 泛化错误率低,精度高,可应用在大部分分类器上,无需调整参数
- 用于特征选择(feature selection)
缺点
- AdaBoost迭代次数也就是弱分类器数目不太好设定,可以使用交叉验证来进行确定。
- 数据不平衡导致分类精度下降。
- 训练比较耗时,每次重新选择当前分类器最好切分点。
- 对离群点敏感,在Adaboost训练过程中,Adaboost会使得难于分类样本的权值呈指数增长,训练将会过于偏向这类困难的样本,导致Adaboost算法易受噪声干扰
GBDT
优点
可以灵活处理各种类型的数据,包括连续值和离散值。
在相对少的调参时间情况下,预测的准备率也可以比较高。这个是相对SVM来说的。
使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。
不需要归一化。树模型都不需要,梯度下降算法才需要,
基分类器的叶子节点个数J选在[4,8]区间内较好,太小,需要太多的迭代次数。太大又容易过拟合。
缺点
- 由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过子采样的SGBT来达到部分并行
- 不适合高维稀疏特征
处理高维稀疏特征的时候LR效果比GBDT好?
答案转载自知乎https://www.zhihu.com/question/35821566
知乎里还有几个答案解释了如果利用gbdt,lr,fm等多模型的结合方法去训练样本。
GBDT如何构建新的特征(GBDT能够产生高维稀疏特征,然后放到LR离去)
转https://blog.csdn.net/luanpeng825485697/article/details/80150594
注意是路径,对于每一个不同的叶子节点,都会有不同的特征路径,比如说第一个是年龄大于20还是小于等于20,第二是性别巴拉巴拉
【机器学习】集成学习各方法优缺点特征总结相关推荐
- 机器学习集成学习与模型融合!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,深圳大学,Datawhale高校群成员 对比过kaggle ...
- 【机器学习基础】浅析机器学习集成学习与模型融合
作者:李祖贤,深圳大学,Datawhale高校群成员 对比过kaggle比赛上面的top10的模型,除了深度学习以外的模型基本上都是集成学习的产物.集成学习可谓是上分大杀器,今天就跟大家分享在Kagg ...
- 深度学习auc_机器学习集成学习与模型融合!
↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 作者:李祖贤,深圳大学,Datawhale高校群成员 对比过kaggle比赛 ...
- 机器学习集成学习与模型融合
来源:Datawhale 本文约5955字,建议阅读10分钟. 本文介绍在Kaggle或者阿里天池上面大杀四方的数据科学比赛利器---集成学习. 对比过kaggle比赛上面的top10的模型,除了深度 ...
- 机器学习——集成学习算法(Adaboost、随机森林)
集成算法简述 什么是集成学习 如何得到多个个体学习器 集成学习常用算法 Bagging 自助采样 学习器结合 包外估计 随机森林 Adaboost Boosting Adaboost算法原理 注意 什 ...
- 机器学习 集成学习篇——python实现Bagging和AdaBOOST算法
机器学习 集成学习篇--python实现Bagging和AdaBOOST算法 摘要 Bagging算法 Adaboost算法 摘要 本文通过python实现了集成学习中的Bagging和AdaBOOS ...
- 机器学习 - [集成学习]Bagging算法的编程实现
机器学习 - [集成学习] Bagging算法的编程实现 李俊才 的 CSDN 博客:https://blog.csdn.net/qq_28550263?spm=1001.2101.3001.5343 ...
- 机器学习集成学习进阶LightGBM算法和案例
目录 1 lightGBM 1.1 lightGBM演进过程 1.2 AdaBoost算法 1.3 GBDT算法以及优缺点 1.4 启发 2 什么是lightGBM 3 lightGBM原理 3.1 ...
- 集成学习python_从Boosting到Stacking,概览集成学习的方法与性能
集成学习(Ensemble learning)通过组合几种模型来提高机器学习的效果.与单一模型相比,该方法可以提供更好的预测结果.正因为如此,集成方法在许多著名的机器学习比赛(如 Netflix.KD ...
最新文章
- JAVA秒杀mysql层实现_Java高并发秒杀API之web层
- (传送门)linux命令总结dd命令详解
- Andorid开发学习---ubuntu 12.04下搭建超好用的安卓模拟器genymotion 安装卸载virtualbox 4.3...
- 求职,北京,.netGIS
- kettle升级jetty10实验(未完成jaas认证)
- Anbox之push_locked与pop_locked(十三)
- 2021-08-21 初识javabean
- 基于模糊PID的液压舵机伺服系统
- linux学习(三)输入输出重定向和管道功能、cat命令、more命令
- Mac命令行出现-bash: command not found的解决办法
- Blowfish加密算法
- 红帽子linux5.5安装,红帽子企业Linux 5安装 硬盘安装
- wordpress如何给文章添加浏览量,使用插件WP-PostViews
- Win系统 - 怎么样卸载 Win10 更新补丁,如何删除系统安全补丁
- 极简工作法则- 泰普勒人生
- 【java】java中输出字符串中的单个字符及获得其长度
- golang gin框架gorilla的websocket小案例
- create和qypt qt_Win10安装PyQt5与Qt Designer
- [强化学习] 从剪刀石头布中学习策略C语言实现
- 有插件有技巧,Sketchup牛人必备!
热门文章
- ASP.NET 2.0 中的 DataSource 系列控件
- 基于约束的SQL攻击
- XCTF-高手进阶区:bug
- java enumset_java.util.EnumSet.allOf()方法和实例的学习
- element table 表格设置max-height 没有出现滚动条,多渲染了一列。
- git 如何把master分支代码合并到自己的分支
- JQuery选择器中的子元素选择器
- nginx配置文件简单解析
- SpringDataJpa报错: Table 'XX.hibernate_sequence' doesn't exist
- 三维重建:三维空间中平面的旋转公式