XGboost的输出使用'rank:pairwise'是什么?

Sör*_*ren 10 xgboost

我使用XGBoost的python实现.其中一个目标是rank:pairwise最小化成对损失(文档).但是,它没有说明输出的范围.我看到-10和10之间的数字,但它原则上是-inf到inf?

Keh*_*CAI 6

好问题。您可以看一下kaggle比赛

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


小智 6

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

esay排名参考我的项目xgboostExtension


hjw*_*hjw 5

如果我正确理解您的问题,您的意思是predict使用rank:pairwise.

Predict给出预测变量 ( y_hat)。

这与reg:linear/ binary:logisticetc相同。唯一的区别是reg:linear将树构建为Min(RMSE(y, y_hat)),而rank:pairwise将树构建为Max(Map(Rank(y), Rank(y_hat)))。但是,输出始终为y_hat

根据因变量的值,输出可以是任何内容。但我通常希望输出的方差与因变量相比要小得多。这通常是这种情况,因为不需要拟合极端数据值,树只需要生成足够大/小到足以在组中排名第一/最后的预测变量。