Migliore risposta
Ecco alcune librerie Imparare a classificare al di fuori di RankLibhttp: //arogozhnikov.github.io/2015/06/26 /learning-to-rank-software-datasets.html:
- LEROT (Python)
- xapian-letor
- Metrica che impara a classificare (Matlab)
- Implementazione SVM-Rank (C ++)
- ListMLE , ListNET
- Implementazione SVM-MAP (C ++ )
- Imparare a classificare la libreria (C ++)
- jforests (Java)
- demo IPython su come imparare a classificare
- Implementazione di LambdaRank (Python) specialmente per la competizione di ranking kaggle)
Detto questo, RankLib rimane ancora il migliore opzione in termini di maturità e comprovata correttezza.
Se nessuno di questi funziona per te, cè sempre la possibilità di scriverne uno tu stesso.
Risposta
Alternative Ho usato in passato e posso consigliare:
SVMRank (C) Support Vector Machine per il ranking
JLIS-Reranking (Java) http://flake.cs.uiuc.edu/~mchang21/softwares/JLIS/rerank.html
Non lho usato ma conosco:
XGboost (ampiamente utilizzato con interfacce per molte lingue; mai provato per problemi di posizionamento) dmlc / xgboost (vedi anche questo esempio di XGBoost-rank )
Jforests (Java) jforests – Tree Ensembles for Machine Learning – Google Project Hosting