简介
XGBoost是一个优化的分布式梯度增强库,具有高效、灵活和可移植性。在梯度增强框架下实现了机器学习算法。XGBoost提供了一种并行树增强(也称为GBDT、GBM),可以快速、准确地解决许多数据科学问题。相同的代码在主要的分布式环境(Hadoop、SGE、MPI)上运行,可以解决数十亿个示例的训练问题。
xgb相对于gbt所做的改进:
1.
2.
3.
XGBoost可以使用R、python、java、scala实现,本文主要讲解采用scala+spark的实现方式。
使用方法
1.maven环境配置
<dependency>
<groupId>ml.dmlc</groupId>
<artifactId>xgboost4j</artifactId>
<version>0.90</version>
</dependency>
<dependency>
<groupId>ml.dmlc</groupId>
<artifactId>xgboost4j-spark</artifactId>
<version>0.90</version>
</dependency>
2.使用分类方法训练xbg模型
import ml.dmlc.xgboost4j.scala.spark.XGBoostClassifier
val xgbParam = Map("eta" -> 0.1f,
"max_depth" -> 2,
"objective"