我想知道如何为排名任务配置catboost。catboost主页暗示它可以用于对任务进行排序。然而,关于任务排序的文档似乎很少:https://tech.yandex.com/catboost/doc/dg/concepts/cli-reference_train-model-docpage/
所有的教程都专注于对单个实例进行分类:https://github.com/catboost/catboost/tree/master/catboost/tutorials
理想情况下,应该有一些类似于LightGBM的文档或示例来进行排名:https://github.com/Microsoft/LightGBM/tree/master/examples/lambdarank
有没有人用catboost来排名?
发布于 2018-07-05 21:57:05
从0.9版本开始,CatBoost支持多种排名模式。要使用排名模式,您需要构建一个包含对象组(user group_id )的数据集。算法将尝试找到一个组内的最佳顺序。
在CatBoost中有两种成对模式: PairLogit和PairLogitPairwise。对于成对模式,您需要提供成对作为数据集的一部分。PairLogit的速度要快得多,但PairLogitPairwise在大型数据集上可能会提供更好的质量。
有两种排名模式YetiRank和YetiRankPairwise。要使用它们,您的数据集中需要有标签。它们之间的区别是相同的,YetiRankPairwise的计算成本更高,但可能会得到更好的结果。
还有排名和回归(QueryRMSE)之间的混合,排名和分类(QueryCrossEntropy)之间的混合和QuerySoftMax损失。
https://stackoverflow.com/questions/45909390
复制相似问题