XGBOOST算法应用
想了解一个算法,我们可以从以下几个方面去考虑
- What:它是什么
- How:底层实现逻辑
- Why:为什么这样设计
- Optimize:是否有优化空间
- Application Scene:应用场景
一.什么是xgboost算法
xgboost是由陈天奇博士提出的一种基于Gradient Boosting的集成学习算法,它的前身是GBDT算法,多次在kaggel上取得优秀的成绩。集成学习算法利用多个弱学习器拟合成一个模型,使用残差学习的的方式不断优化目标函数,通俗点讲,集成学习的本质就是三个臭皮匠顶个诸葛亮,xgboost的底层是由多个弱学习器组成的,由多棵CART(分类回归树)树模型组成,既可以用来做分类、也可以用来处理回归任务,相较于GBDT算法,xgboost的改进之处在于以下几点:
- 引进了正则项,具有预剪枝、防止模型过拟合的作用;
- 使用泰勒二次展开项对目标函数近似求解,速度更快,效率更高,同时支持自定义目标函数,只要函数可二阶求导;
- 能自动处理缺失值,xgb处理缺失值的方法是将缺失值单独作为一类处理,在节点分裂时根据提升度大小决定归类于左叶子节点 或者右叶子节点;
- 支持并行化计算,xgb会对特征变量做预排序,并将结果保存为block模块储存在硬盘中,树分裂时调用多线程对多个特征变量做运算,极大的提高了计算速度。另外,不同于GBDT在分裂时使用贪心算法逐个计算信息增益或信息熵,xgb会计算特征变量分位点,并给出特征值对应的分裂权重,使用近似贪心算法在特征分裂时能减少计算量,提升效率;
- 待补充
二.如何实现
在介绍任何一个算法前,我们都逃避不开算法的目的,现阶段的有监督学习算法的目的都是根据已知的特征变量X去拟合一个函数,使得预测结果Y(^) 接近或等于真实标签Y,通常我们使用损失函数衡量预测结果Y(^)与真实标签Y之间的差异(暂时不会用latex编辑数学公式 )。xgboost算法的损失函数有哪些呢,更进一步思考有监督学习算法中常用的损失函数有哪些,它们的优势和差异,以及所适用的场景分别是什么?
XGBOOST算法应用相关推荐
- XGBoost算法原理解释(转载)
1.XGBoost算法原理 参考文章1 参考文章2 2.代码实战 train = pd.read_csv(r"./dataset/train.csv") train.head() ...
- R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型
R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型 目录 R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型
- Hessian矩阵在XGBoost算法的应用小结
来源:机器学习算法那些事本文约1100字,建议阅读5分钟 本文深入浅出的总结了Hessian矩阵在XGboost算法中的两种应用,即权重分位点算法和样本权重和算法 . 前言 Hessian矩阵最常见的 ...
- xgboost算法_详解xgboost算法的样本不平衡问题
XGBoost官方文档对参数scale_pos_weight的定义: 翻译: 调节正负样本权重的平衡 ,常用来处理不平衡的正负样本数据 . 典型值算法: scale_pos_weight = 负样本总 ...
- ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估)
ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参[2种方法,ShuffleSplit+GridSearchCV.TimeSeriesSplitGSCV].模型评估) 目录 ...
- ML之xgboost:利用xgboost算法对breast_cancer数据集实现二分类预测并进行graphviz二叉树节点图可视化
ML之xgboost:利用xgboost算法对breast_cancer数据集实现二分类预测并进行graphviz二叉树节点图可视化 目录 实现结果 实现代码 实现结果
- ML之xgboost:利用xgboost算法(自带,特征重要性可视化+且作为阈值训练模型)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
ML之xgboost:利用xgboost算法(自带,特征重要性可视化+且作为阈值训练模型)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) 目录 输出结果 ...
- ML之xgboost:利用xgboost算法(sklearn+GridSearchCV)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
ML之xgboost:利用xgboost算法(sklearn+GridSearchCV)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) 目录 输出结果 ...
- ML之xgboost:利用xgboost算法(sklearn+7CrVa)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
ML之xgboost:利用xgboost算法(sklearn+7CrVa)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) 目录 输出结果 设计思路 核心 ...
- ML之xgboost:利用xgboost算法(sklearn+3Split+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
ML之xgboost:利用xgboost算法(sklearn+3Spli+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) ...
最新文章
- 禅道 php api,禅道 Rest API 开发
- 大学物理规范作业25稳恒磁场_山东一地出台规定:严禁家长代批作业,违反规定将被一票否决...
- ThinkPHP“逻辑或”关系的多条件查询
- (最新合集)计算机网络谢希仁第七版 第四章课后答案
- HashOperations
- 腾讯总监周颢:亿级用户微信采用的架构宝典
- word回车后间距太大_关于Word自动编号你知道多少?
- 使用Elasticsearch和C#理解和实现CRUD APP的初学者教程——第2部分
- Android Q 不叫 Q,正式命名为 Android 10
- C语言libiconv编程,libiconv字符集转换库在C#中的使用
- 【敏捷开发每日一贴】代码走查
- Linguist for Mac(mac菜单栏语言翻译工具)
- 基于股票大数据分析的Python入门实战(实践记录)(持续更新)
- 湖南省工信厅党组书记、厅长雷绍业一行莅临麒麟信安调研
- Houdini Grain 学习笔记
- 哈巴狗可以分为哪几种?
- 静态IP上网是什么意思
- commonjs 和esm
- 我的艰辛作业之旅之程序设计思维week3作业
- 8.redis哨兵部署