想了解一个算法,我们可以从以下几个方面去考虑

  • What:它是什么
  • How:底层实现逻辑
  • Why:为什么这样设计
  • Optimize:是否有优化空间
  • Application Scene:应用场景

一.什么是xgboost算法

xgboost是由陈天奇博士提出的一种基于Gradient Boosting的集成学习算法,它的前身是GBDT算法,多次在kaggel上取得优秀的成绩。集成学习算法利用多个弱学习器拟合成一个模型,使用残差学习的的方式不断优化目标函数,通俗点讲,集成学习的本质就是三个臭皮匠顶个诸葛亮,xgboost的底层是由多个弱学习器组成的,由多棵CART(分类回归树)树模型组成,既可以用来做分类、也可以用来处理回归任务,相较于GBDT算法,xgboost的改进之处在于以下几点:

  1. 引进了正则项,具有预剪枝、防止模型过拟合的作用;
  2. 使用泰勒二次展开项对目标函数近似求解,速度更快,效率更高,同时支持自定义目标函数,只要函数可二阶求导;
  3. 自动处理缺失值,xgb处理缺失值的方法是将缺失值单独作为一类处理,在节点分裂时根据提升度大小决定归类于左叶子节点 或者右叶子节点;
  4. 支持并行化计算,xgb会对特征变量做预排序,并将结果保存为block模块储存在硬盘中,树分裂时调用多线程对多个特征变量做运算,极大的提高了计算速度。另外,不同于GBDT在分裂时使用贪心算法逐个计算信息增益或信息熵,xgb会计算特征变量分位点,并给出特征值对应的分裂权重,使用近似贪心算法在特征分裂时能减少计算量,提升效率;
  5. 待补充

二.如何实现

在介绍任何一个算法前,我们都逃避不开算法的目的,现阶段的有监督学习算法的目的都是根据已知的特征变量X去拟合一个函数,使得预测结果Y(^) 接近或等于真实标签Y,通常我们使用损失函数衡量预测结果Y(^)与真实标签Y之间的差异(暂时不会用latex编辑数学公式 )。xgboost算法的损失函数有哪些呢,更进一步思考有监督学习算法中常用的损失函数有哪些,它们的优势和差异,以及所适用的场景分别是什么?

XGBOOST算法应用相关推荐

  1. XGBoost算法原理解释(转载)

    1.XGBoost算法原理 参考文章1 参考文章2 2.代码实战 train = pd.read_csv(r"./dataset/train.csv") train.head() ...

  2. R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型

    R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型 目录 R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型

  3. Hessian矩阵在XGBoost算法的应用小结

    来源:机器学习算法那些事本文约1100字,建议阅读5分钟 本文深入浅出的总结了Hessian矩阵在XGboost算法中的两种应用,即权重分位点算法和样本权重和算法 . 前言 Hessian矩阵最常见的 ...

  4. xgboost算法_详解xgboost算法的样本不平衡问题

    XGBoost官方文档对参数scale_pos_weight的定义: 翻译: 调节正负样本权重的平衡 ,常用来处理不平衡的正负样本数据 . 典型值算法: scale_pos_weight = 负样本总 ...

  5. ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估)

    ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参[2种方法,ShuffleSplit+GridSearchCV.TimeSeriesSplitGSCV].模型评估) 目录 ...

  6. ML之xgboost:利用xgboost算法对breast_cancer数据集实现二分类预测并进行graphviz二叉树节点图可视化

    ML之xgboost:利用xgboost算法对breast_cancer数据集实现二分类预测并进行graphviz二叉树节点图可视化 目录 实现结果 实现代码 实现结果

  7. ML之xgboost:利用xgboost算法(自带,特征重要性可视化+且作为阈值训练模型)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)

    ML之xgboost:利用xgboost算法(自带,特征重要性可视化+且作为阈值训练模型)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) 目录 输出结果 ...

  8. ML之xgboost:利用xgboost算法(sklearn+GridSearchCV)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)

    ML之xgboost:利用xgboost算法(sklearn+GridSearchCV)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) 目录 输出结果 ...

  9. ML之xgboost:利用xgboost算法(sklearn+7CrVa)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)

    ML之xgboost:利用xgboost算法(sklearn+7CrVa)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) 目录 输出结果 设计思路 核心 ...

  10. ML之xgboost:利用xgboost算法(sklearn+3Split+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)

    ML之xgboost:利用xgboost算法(sklearn+3Spli+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) ...

最新文章

  1. 禅道 php api,禅道 Rest API 开发
  2. 大学物理规范作业25稳恒磁场_山东一地出台规定:严禁家长代批作业,违反规定将被一票否决...
  3. ThinkPHP“逻辑或”关系的多条件查询
  4. (最新合集)计算机网络谢希仁第七版 第四章课后答案
  5. HashOperations
  6. 腾讯总监周颢:亿级用户微信采用的架构宝典
  7. word回车后间距太大_关于Word自动编号你知道多少?
  8. 使用Elasticsearch和C#理解和实现CRUD APP的初学者教程——第2部分
  9. Android Q 不叫 Q,正式命名为 Android 10
  10. C语言libiconv编程,libiconv字符集转换库在C#中的使用
  11. 【敏捷开发每日一贴】代码走查
  12. Linguist for Mac(mac菜单栏语言翻译工具)
  13. 基于股票大数据分析的Python入门实战(实践记录)(持续更新)
  14. 湖南省工信厅党组书记、厅长雷绍业一行莅临麒麟信安调研
  15. Houdini Grain 学习笔记
  16. 哈巴狗可以分为哪几种?
  17. 静态IP上网是什么意思
  18. commonjs 和esm
  19. 我的艰辛作业之旅之程序设计思维week3作业
  20. 8.redis哨兵部署

热门文章

  1. 常用符号的Unicode
  2. 基于LoRa水表数据采集的工业物联网网关
  3. 喜报!恭喜信必优手机测试组​获得行业排名前三客户荣誉表彰
  4. 什么是Polygons标注
  5. Vue导出页面为word格式
  6. CSS3新特性总结及CSS组件、特效汇总
  7. Windows 电脑可以装 Mac 系统吗?
  8. 【精益生产】详解精益物流改善方法
  9. 《构建之法》——原型设计
  10. Linux服务器缓存总是不够用