【发布时间】:2016-09-29 10:03:27
【问题描述】:
我正在尝试使用 XGBoost 对上下文广告的 1 亿次展示构建 CTR 预测模型,为了达到同样的效果,我想在 hadoop 上尝试 XGboost,因为我在 HDFS 中拥有所有可用的展示数据。
有人可以为 python 引用相同的工作教程吗?
【问题讨论】:
标签: python hadoop machine-learning xgboost
我正在尝试使用 XGBoost 对上下文广告的 1 亿次展示构建 CTR 预测模型,为了达到同样的效果,我想在 hadoop 上尝试 XGboost,因为我在 HDFS 中拥有所有可用的展示数据。
有人可以为 python 引用相同的工作教程吗?
【问题讨论】:
标签: python hadoop machine-learning xgboost
有很多方法可以做到:
如果您有一些较低级别的逻辑分组,例如某些项目部门的 CTR,并且您想为部门制作本地化模型,那么您可以进行地图缩减类型的设置。它将确保属于单个部门的所有数据最终都在单个 YARN 容器中,您可以在该数据上构建模型。 NLineInputFormat 是一个聪明的技巧,它可以让这个 map 只处理而不是基于 map reduce 的处理,这会给你带来显着的速度提升。
您可以使用 Spark 版本的 XGBoost 进行分布式机器学习,更多请参考 http://dmlc.ml/2016/03/14/xgboost4j-portable-distributed-xgboost-in-spark-flink-and-dataflow.html
如果您也在决定您的基础设施,那么也可以尝试 AWS,如此处所述。它不是 hadoop,而是伪分布式机器学习:https://xgboost.readthedocs.io/en/latest/tutorials/aws_yarn.html
【讨论】: