以下是xgboost中关于rank任务的文档的说明:
XGBoost支持完成排序任务。在排序场景下,数据通常是分组的,我们需要分组信息文件来指定排序任务。XGBoost中用来排序的模型是LambdaRank,此功能尚未完成。目前,我们提供pairwise rank.
XGBoost supports accomplishing ranking tasks. In ranking scenario, data are often grouped and we need the group information file to specify ranking tasks. The model used in XGBoost for ranking is the LambdaRank, this function is not yet completed. Currently, we provide pairwise rank.
首先,从dmlc上将xgboost的库下载下来:
git clone --recursive https://github.com/dmlc/xgboost
xgboost中的rank任务的目录为:
xgboost/demo/rank/
根据该目录下的README.md文档的指引即可将xgboost部分的排序任务在所给的示例数据上跑通。
顺利实现以上过程之后,就可以开始细究xgboost中rank任务的来龙去脉了。
Learning to Rank
Learning to Rank简要介绍
首先来简单了解一下排序任务。在互联网搜索诞生之初,检索模型所依赖的特征是相对简单的,这些特征的设计主要是基于query与文档的相似度来对文档进行排序,也即相关度排序模型。另一种传统排序模型是重要性排序模型,重要性排序模型就不考虑query,而仅仅根据网页(文档)之间的图结构来判断文档的权威程度,常用的如PageRank等。
在互联网不断发展的今天,更多复杂有效的特征被应有到检索里面,人工调参已不能满足需求,此时机器学习被应用到这项任务中,同时由于互联网海量数据的特点,基于大数据的learning to rank逐渐成为热门领域。
搜索
query:检索词条, 文档(doc):检索结果
搜索这一过程的本质是自动选取与用