tensorflow / ranking

Learning to Rank in TensorFlow
Apache License 2.0
2.74k stars 477 forks source link

Thanks a lot for your share. Would you please give some examples for LTR methods implemented in this project, such as RankNet, ListNet and LambdaMART #43

Closed whuissyxa closed 5 years ago

eggie5 commented 5 years ago

👍

robertwt7 commented 5 years ago

Yeah would love to see some of the tree implementation of LTR in the scoring function :)

bendersky commented 5 years ago

For a complete list of supported LTR methods see https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/losses.py which contains definitions of supported losses.

1/ RankNet can be implemented using the "pairwise_logistic_loss" method (l. 639 in losses.py) 2/ ListNET -- from this family of listwise LTR algorithms we support the position-aware ListMLE (l. 862 in losses.py) which was found to improve upon ListNET in prior work (https://dl.acm.org/citation.cfm?id=3020798) 3/ LambdaMART -- at this point the package is mostly focused on "neural LTR" algorithms. We do not have current plans to support tree-based algorithms. There are several of high-quality open-sources alternatives you could consider including LightGBM, XGBoost and others.