我想知道如何为排名任务配置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进行排名?
答案 0 :(得分:2)
从0.9版开始,CatBoost支持多种排名模式。 要使用排名模式,您需要构建一个包含对象组的数据集(为此,用户为group_id)。算法将尝试在组内找到最佳顺序。
CatBoost中有两种成对模式,PairLogit和PairLogitPairwise。对于成对模式,您需要提供对作为数据集的一部分。 PairLogit速度要快得多,但PairLogitPairwise在大型数据集上可能会提供更好的质量。
有两种排名模式YetiRank和YetiRankPairwise。要使用它们,您需要在数据集中有标签。它们之间的区别是相同的,然而YetiRankPairwise在计算上更加昂贵,但可能会提供更好的结果。
排名和回归(QueryRMSE)之间混合在一起,排名和分类(QueryCrossEntropy)之间混合以及QuerySoftMax丢失。