2018-11-15
阅读量:
1063
XGBoost是什么?
XGBoost( Ex treme G radient Boost ing)是一个优化的分布式梯度增强库。 是的,它的核心是使用梯度增强(GBM)框架。 XGBoost由华盛顿大学博士生Tianqi Chen创建,主要用于监督机器学习问题。它主要有以下特点:
- 并行计算:通过并行处理(使用OpenMP)启用; 也就是说,当你运行xgboost时,默认情况下,它将使用你的笔记本电脑/机器的所有内核。
- 正规化:我相信这是xgboost的最大优势。 GBM没有规范化的规定。 正则化是一种用于避免线性和基于树的模型中过度拟合的技术。
- 启用交叉验证:在R中,我们通常使用外部包(如插入符和mlr)来获取CV结果。 但是,xgboost启用了内部CV函数(我们将在下面看到)。
- 缺少值: XGBoost旨在在内部处理缺失值。 缺失值的处理方式是,如果缺失值存在任何趋势,则由模型捕获。
- 灵活性:除回归,分类和排名问题外,它还支持用户定义的目标函数。 在给定一组参数的情况下,目标函数用于测量模型的性能。 此外,它还支持用户定义的评估指标。
- 可用性:目前,它可用于编程语言,如R,Python,Java等。
- 保存和重新加载: XGBoost为我们提供了保存数据矩阵和模型的功能,并在以后重新加载。 假设我们有一个大型数据集,我们可以简单地保存模型并在将来使用它,而不是浪费时间重做计算。
- 树修剪:与GBM不同,一旦遇到负损失,树修剪停止,XGBoost将树增长到max_depth,然后向后修剪,直到损失函数的改善低于阈值。
XGBoost不难理解,但优化起来相对麻烦。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论