如何在hadoop集群上运行xgboost进行分布式模型培训?

时间:2016-09-29 10:03:27

标签: python hadoop machine-learning xgboost

我正在尝试使用XGBoost为上下文广告制作1亿次展示的点击率预测模型,为了实现相同目标,我想在hadoop上尝试XGboost,因为我拥有HDFS中可用的所有展示数据。< / p>

有人可以为python引用相同的工作教程吗?

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到:

  1. 如果您有一些较低级别的逻辑分组,请说某个项目部门的点击率,并且您想为部门制作本地化模型,那么您可以选择map reduce类型的设置。它将确保属于单个部门的所有数据最终都位于单个YARN容器中,您可以构建该数据的模型。 NLineInputFormat是一个聪明的技巧,使这个地图只有基于地图缩减的过程,这将为你提供显着的速度提升。

  2. 您可以使用Spark版本的XGBoost进行分布式机器学习,以获取更多参考http://dmlc.ml/2016/03/14/xgboost4j-portable-distributed-xgboost-in-spark-flink-and-dataflow.html

  3. 如果您正在处理决定基础架构的问题,请按照此处的说明尝试AWS。它不是hadoop,而是伪分布式机器学习:https://xgboost.readthedocs.io/en/latest/tutorials/aws_yarn.html