说到learning to rank,大家应该都比较熟悉,但是说到用XGB做learning to rank,很少有人实现过.举个例子,比方说赛马,我们可以基于马的个头,体重,历史战绩等信息,建立XGB...模型,进行二分类,最后选择赢的概率最高的马.这样做并没有问题,但是考虑到马是否能跑赢,和对手紧密相关,不管我选的马能力如何,只要他能跑赢同场比赛其他马即可,这就是排序.
?...n_splits=1,
random_state = 7)
.split(df, groups=df['query_id...排序后的样本
# 并且需要给定每个query_id下样本的数量
groups = train_data.groupby('id').size().to_frame('size')['size'].to_numpy...'rank'])]
y_test = test_data.loc[:, test_data.columns.isin(['rank'])]
我们的数据格式应该如下所示,如果数据长这样,那么我们上述代码中的