我使用XGBoost的python实现。其中一个目标是rank:pairwise
,它可以最大限度地减少成对损失(Documentation)。但是,它没有说明输出的范围。我看到-10和10之间的数字,但它原则上是-inf到inf?
答案 0 :(得分:4)
实际上,在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。
根据因变量的值,输出可以是任何值。但我通常期望输出与因变量的差异小得多。这通常是这种情况,因为没有必要拟合极端数据值,树只需要产生足够大/小的预测变量,以便在组中排名第一/最后