Bästa svaret
Här är några lära sig att rangordna bibliotek utanför RankLibhttp: //arogozhnikov.github.io/2015/06/26 /learning-to-rank-software-datasets.html:
- LEROT (Python)
- xapian-letor
- Metrisk inlärning att ranka (Matlab)
- SVM-Rank implementering (C ++)
- ListMLE , ListNET
- SVM-MAP-implementering (C ++ )
- Lära sig att rangordna biblioteket (C ++)
- jskogar (Java)
- IPython-demo om att lära sig att ranka
- Implementering av LambdaRank (Python) speciellt för kaggle-rankningstävling)
Som sagt är RankLib fortfarande det bästa alternativ när det gäller mognad och bevisad korrekthet.
Om inget av dessa fungerar för dig, finns det alltid möjlighet att skriva en själv.
Svar
Alternativ Jag har använt tidigare och kan rekommendera:
SVMRank (C) Support Vector Machine for Ranking
JLIS-Reranking (Java) http://flake.cs.uiuc.edu/~mchang21/softwares/JLIS/rerank.html
Haven har inte använt men vet om:
XGboost (används ofta med gränssnitt för många språk; testade aldrig det för att ranka problem) dmlc / xgboost (se även detta XGBoost-rank exempel )
Jforests (Java) jforests – Tree Ensembles for Machine Learning – Google Project Hosting