【问题标题】:How one can run xgboost on hadoop cluster for distributed model training?如何在 hadoop 集群上运行 xgboost 进行分布式模型训练?
【发布时间】:2016-09-29 10:03:27
【问题描述】:

我正在尝试使用 XGBoost 对上下文广告的 1 亿次展示构建 CTR 预测模型,为了达到同样的效果,我想在 hadoop 上尝试 XGboost,因为我在 HDFS 中拥有所有可用的展示数据。

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

【问题讨论】:

    标签: python hadoop machine-learning xgboost


    【解决方案1】:

    有很多方法可以做到:

    1. 如果您有一些较低级别的逻辑分组,例如某些项目部门的 CTR,并且您想为部门制作本地化模型,那么您可以进行地图缩减类型的设置。它将确保属于单个部门的所有数据最终都在单个 YARN 容器中,您可以在该数据上构建模型。 NLineInputFormat 是一个聪明的技巧,它可以让这个 map 只处理而不是基于 map reduce 的处理,这会给你带来显着的速度提升。

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-09
      • 2018-04-10
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 2012-07-09
      • 2020-09-07
      相关资源
      最近更新 更多