La mejor respuesta
Aquí hay algunas bibliotecas para aprender a clasificar fuera de RankLibhttp: //arogozhnikov.github.io/2015/06/26 /learning-to-rank-software-datasets.html:
- LEROT (Python)
- xapian-letor
- Aprendizaje métrico para clasificar (Matlab)
- Implementación de rango SVM (C ++)
- ListMLE , ListNET
- Implementación de SVM-MAP (C ++ )
- Biblioteca para aprender a clasificar (C ++)
- jforests (Java)
- Demostración de IPython sobre cómo aprender a clasificar
- Implementación de LambdaRank (Python) especialmente para la competencia de clasificación de kaggle)
Dicho esto, RankLib sigue siendo el mejor opción en términos de madurez y corrección probada.
Si ninguno de estos funciona para usted, siempre existe la opción de escribir uno usted mismo.
Respuesta
Alternativas He usado en el pasado y puedo recomendar:
SVMRank (C) Máquina de vectores de soporte para clasificación
JLIS-Reranking (Java) http://flake.cs.uiuc.edu/~mchang21/softwares/JLIS/rerank.html
Haven «t usado pero conozco:
XGboost (ampliamente utilizado con interfaces para muchos idiomas; nunca lo probé por problemas de clasificación) dmlc / xgboost (consulte también este ejemplo de XGBoost-rank )
Jforests (Java) jforests – Conjuntos de árboles para aprendizaje automático – Alojamiento de proyectos de Google