在不同的机器上训练XGBoost模型时的分数不同

问题描述 投票:0回答:1

在尝试XGBoost的排名演示时,它具有:https://github.com/dmlc/xgboost/tree/master/demo/rank

在不同的机器上生成不同的预测分数。这是预期的吗?

我在不同的机器上运行相同的脚本:

  1. 本地Macbook环境
  2. 远程环境中的Amazon Linux)以及写入文件的输出:pred.txt

demo/rank示例中脚本的示例输出:

bash-4.2# ./runexp.sh
[01:13:08] 9630x47 matrix with 233775 entries loaded from mq2008.train
[01:13:08] 471 groups are loaded from mq2008.train.group
[01:13:08] 2707x47 matrix with 64764 entries loaded from mq2008.vali
....
....
[01:13:08] 2874x47 matrix with 71241 entries loaded from mq2008.test
[01:13:08] 156 groups are loaded from mq2008.test.group
[01:13:08] start prediction...
[01:13:08] writing prediction to pred.txt

Amazon Linux Machine中的输出

bash-4.2# head pred.txt
0.78357064724
0.16863465309
0.71193027496
0.68881440163

MacBook上的输出

% head pred.txt
0.72682631016
0.15482419729
0.65316188335
0.67612731457

在两台机器上编译了相同的XGBoost代码(使用根XGBoost文件夹中的build.sh)。

python xgboost
1个回答
0
投票

配置文件https://github.com/dmlc/xgboost/blob/master/demo/rank/mq2008.conf似乎没有修复随机种子。因此,即使在运行两次的同一台机器上,由于采样的不同,也会导致略微不同的结果(和分数)。变化的大小取决于模型参数的数据和(在较小的范围内,我认为)。

© www.soinside.com 2019 - 2024. All rights reserved.