使用'排名的XGboost输出是什么:成对'?

时间:2015-11-13 18:56:22

标签: xgboost

我使用XGBoost的python实现。其中一个目标是rank:pairwise,它可以最大限度地减少成对损失(Documentation)。但是,它没有说明输出的范围。我看到-10和10之间的数字,但它原则上是-inf到inf?

3 个答案:

答案 0 :(得分:4)

好的问题。你可以查看kaggle competition

  

实际上,在Learning to Rank字段中,我们试图预测每个文档对特定查询的相对分数。也就是说,这不是回归问题或分类问题。因此,如果附加到查询的文档获得负预测分数,则意味着并且仅意味着与其他文档相比,它与查询相对较少,具有正分数。

答案 1 :(得分:3)

它给出了排名的预测分数。 但是,分数仅对其自己的组中的排名有效。 所以我们必须为输入数据设置组。

对于esay排名,请参阅我的项目xgboostExtension

答案 2 :(得分:2)

如果我正确理解你的qns,你的意思是使用rank:pairwise拟合的模型上的预测函数的输出。

预测给出预测变量(yhat)。

这与reg:linear / binary:logistic等相同。唯一的区别是reg:线性构建树到min(rmse(y,yhat)),而rank:pairwise build trees to max(map(rank) (Y),秩(yhat)))。但是,输出始终是yhat。

根据因变量的值,输出可以是任何值。但我通常期望输出与因变量的差异小得多。这通常是这种情况,因为没有必要拟合极端数据值,树只需要产生足够大/小的预测变量,以便在组中排名第一/最后