首页 > 解决方案 > 为什么在 Linux 上使用 SparkML 的 XGBoost 比在 Windows 上慢得多

问题描述

我已经设置了一个 Linux 工作站,我计划将 Spark ML 与 Scala 和 XGBoost (0.90) 一起使用。到目前为止,我一直在 Windows 上使用类似的配置。Spark、Java 等的相同版本,但对于 XGBoost,我一直在使用 criteo fork 0.81 版。

两种配置都有效。我面临的问题是,对于完全相同的数据集,Windows 上的 XGBoost 需要几分钟(2-3 分钟)来计算训练集,但在 Linux 上需要 20 分钟。

奇怪的是,当我在 Windows 上运行 XGBoost 时,CPU 负载为 100%,而 Linux 工作站仅为 5-10%。

我会坚持使用 Windows 工作站,但它会时不时地崩溃,所以我认为使用 Linux 是“安全”的一面。

标签: scalaapache-sparkxgboostcriteo

解决方案


推荐阅读