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

标签 python hadoop machine-learning xgboost

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

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

最佳答案

有很多方法可以做到:

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

  2. 您可以使用 XGBoost 的 Spark 版本进行分布式机器学习以获取更多信息,请参阅 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

关于python - 如何在 hadoop 集群上运行 xgboost 进行分布式模型训练?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39767280/

相关文章:

python - Epochs Vs Pass Vs Iteration

python - Impala 在不输入日期的情况下查询昨天的数据可能使用 python

python - 在 Ubuntu 终端中,我怎样才能让 python 程序继续运行?

python - 在一个线程中拥有deque和Queue的优点

java - 使用旧版本运行 Apache Spark 最新版本的集群

hadoop - 使用STRUCT进行的此简单Hive查询的语法错误在哪里?

python - 在Python中计算稀疏张量的余弦相似度的有效方法?

python - 使用预测图像和地面真实图像评估神经网络

amazon-web-services - 如何在此 cloudformation 模板的 aws cli 命令中插入参数?

python - 找出所有和为零的不间断子序列