XGBoost 训练一直失败

XGBoost training keeps failing

我正在尝试 运行 使用 Spark 的任何 XGBoost 代码,但没有成功。 我也试过复制粘贴示例,但这些也不起作用。 假设我们有这个示例代码: https://docs.azuredatabricks.net/_static/notebooks/xgboost-simple-example.html

每当我使用 运行 XGBoost.trainWithDataFrame 方法时,我总是在使用 binary:logistic objective:

时出现此错误
Check failed: base_score > 0.0f && base_score < 1.0f base_score must be in (0,1) for logistic loss

我每次处理火车数据时都会遇到这个错误,而且更改其他参数也无济于事。

使用已弃用的 XGBoost.train 时,我遇到了这些错误(我增加了回合数以产生更多此类错误):

[INFO] [06/25/2018 10:30:46.399] [RabitTracker-akka.actor.default-dispatcher-6] [akka://RabitTracker/user/Handler] [17] train-error:0.538462
[10:30:46] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[10:30:46] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:46.560] [RabitTracker-akka.actor.default-dispatcher-7] [akka://RabitTracker/user/Handler] [18] train-error:0.538462
[10:30:46] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[10:30:46] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:46.720] [RabitTracker-akka.actor.default-dispatcher-2] [akka://RabitTracker/user/Handler] [19] train-error:0.538462
[10:30:46] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2[10:30:46] /xgboost/src/tree/updater_prune.cc: pruned nodes, max_depth=0
74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:46.879] [RabitTracker-akka.actor.default-dispatcher-2] [akka://RabitTracker/user/Handler] [20] train-error:0.538462
[10:30:46] /xgboost/src/tree/updater_prune.cc:[10:30:46] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:47.040] [RabitTracker-akka.actor.default-dispatcher-4] [akka://RabitTracker/user/Handler] [21] train-error:0.538462
[10:30:47] /xgboost/src/tree/updater_prune.cc:[10:30:47] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:47.199] [RabitTracker-akka.actor.default-dispatcher-6] [akka://RabitTracker/user/Handler] [22] train-error:0.538462
[10:30:47] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0[10:30:47] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0

[INFO] [06/25/2018 10:30:47.359] [RabitTracker-akka.actor.default-dispatcher-6] [akka://RabitTracker/user/Handler] [23] train-error:0.538462
[10:30:47] /xgboost/src/tree/updater_prune.cc:[10:30:47] /xgboost/src/tree/updater_prune.cc:74: 74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
0
[INFO] [06/25/2018 10:30:47.519] [RabitTracker-akka.actor.default-dispatcher-10] [akka://RabitTracker/user/Handler] [24]    train-error:0.538462
[10:30:47] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[10:30:47] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:47.679] [RabitTracker-akka.actor.default-dispatcher-6] [akka://RabitTracker/user/Handler] [25] train-error:0.538462
[10:30:47] /xgboost/src/tree/updater_prune.cc:[10:30:47] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:47.839] [RabitTracker-akka.actor.default-dispatcher-2] [akka://RabitTracker/user/Handler] [26] train-error:0.538462
[10:30:47] /xgboost/src/tree/updater_prune.cc:[10:30:47] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:48.001] [RabitTracker-akka.actor.default-dispatcher-10] [akka://RabitTracker/user/Handler] [27]    train-error:0.538462
[10:30:48] /xgboost/src/tree/updater_prune.cc:[10:30:48] /xgboost/src/tree/updater_prune.cc74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0:74: tree pruning end, 1 roots, 
0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:48.160] [RabitTracker-akka.actor.default-dispatcher-6] [akka://RabitTracker/user/Handler] [28] train-error:0.538462
[10:30:48] /xgboost/src/tree/updater_prune.cc:[10:30:4874: tree pruning end, 1 roots, ] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:48.319] [RabitTracker-akka.actor.default-dispatcher-3] [akka://RabitTracker/user/Handler] [29] train-error:0.538462
[10:30:48] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[10:30:48] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:48.479] [RabitTracker-akka.actor.default-dispatcher-2] [akka://RabitTracker/user/Handler] [30] train-error:0.538462
[10:30:48] /xgboost/src/tree/updater_prune.cc:[10:30:48] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 274: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth= pruned nodes, max_depth=0
0
[INFO] [06/25/2018 10:30:48.639] [RabitTracker-akka.actor.default-dispatcher-9] [akka://RabitTracker/user/Handler] [31] train-error:0.538462
[10:30:48[10:30:48] /xgboost/src/tree/updater_prune.cc:] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 174: tree pruning end,  roots, 0 extra nodes, 2 pruned nodes, max_depth=0
1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:48.799] [RabitTracker-akka.actor.default-dispatcher-4] [akka://RabitTracker/user/Handler] [32] train-error:0.538462
[10:30:48] /xgboost/src/tree/updater_prune.cc:[10:30:48] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
0
[INFO] [06/25/2018 10:30:48.960] [RabitTracker-akka.actor.default-dispatcher-7] [akka://RabitTracker/user/Handler] [33] train-error:0.538462
[10:30:49] [10:30:49] /xgboost/src/tree/updater_prune.cc:/xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:49.119] [RabitTracker-akka.actor.default-dispatcher-2] [akka://RabitTracker/user/Handler] [34] train-error:0.538462
[10:30:49] /xgboost/src/tree/updater_prune.cc:[10:30:49] 74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
/xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
[INFO] [06/25/2018 10:30:49.279] [RabitTracker-akka.actor.default-dispatcher-7] [akka://RabitTracker/user/Handler] [35] train-error:0.538462
[10:30:49] /xgboost/src/tree/updater_prune.cc:[10:30:49] 74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0
/xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 0 extra nodes, 2 pruned nodes, max_depth=0

在 SPark 2.1.0、2.2.0、2.3.0、Scala 2.11 上测试。

我使用的是 xgboost 0.72 版。

我找不到任何问题的答案。我做错了什么?

您在使用 Mac 吗?我在 Mac.

上的 Spark xgboost 遇到了完全相同的问题

这里有一些关于此的更多信息:xgboost for JVM has test failures on OS X

我手动应用了建议的补丁 Removed specializations for float/double parsing 并且有效。

  1. 克隆存储库
  2. 按照补丁
  3. 中的建议更改include/dmlc/parameter.h
  4. 再次编译你的 xgboost 代码