Spark中xgboost中的概率无效

时间:2016-06-22 19:14:59

标签: apache-spark xgboost

我在spark(scala api)中使用xgboost。我使用以下参数训练我的模型:

val params = List("eta" -> "0.1", "max_depth" -> "2", 
                  "silent" -> "1", "objective" -> "binary:logistic").toMap 
XGBoost.train(trainRDD, params, 10, 10)

然后它提供两个predict评分功能。一个采用DMatrix并在驱动程序(本地)中运行,另一个采用RDD[Vector]并以分布式模式运行。

对于相同的测试数据集,这两个函数返回不同的值:在本地操作的函数返回的值如-1.23或1.34,但另一个返回0.21或0.71。看起来第二个返回介于0和1之间的概率,但第一个返回其他东西。

有人可以详细说明这个吗?

1 个答案:

答案 0 :(得分:1)

我发现了这个问题。 predict函数在本地运行输出边距值。这意味着,我们需要对这些值应用逻辑变换以获得概率。