5

Estoy buscando una implementación muy simple en Java de un usuario basado en collaborative filtering. Me gustaría evaluar la precisión y el recuerdo de este CF con el conjunto de datos movielens. He visto que el rendimiento (F1) debería rondar entre el 20 y el 30% (con similitud de Pearson y KNN).Sistema de recomendación: simple filtrado colaborativo basado en el usuario para evaluar con precisión y recuperación

¿Existe este marco simple con la evaluación de precisión y código de recuperación?

Respuesta

8

Apache Mahout hace todo lo que menciona aquí. Está basado en Java y admite el filtrado colaborativo basado en el usuario (entre otros) con GenericUserBasedRecommender. Es un algoritmo de k-vecino más cercano, en el que puede conectar implementaciones de similitud como PearsonCorrelationSimilarity y otras.

Mire el paquete org.apache.mahout.cf.taste y los subpaquetes. En el subpaquete .impl.eval, busque GenericRecommenderIRStatsEvaluator. Esto ejecutará una prueba que informa precisión, recuperación y F1.

Por último, ya hay algunos ejemplos de trabajo basados ​​en GroupLens en mahout-examples.

+0

Hola, gracias por tu respuesta. Sin embargo, Apache Mahout es simplemente imposible de usar y requiere demasiados paquetes. Además, la falta de documentación simple (por ejemplo, cómo hacer un nuevo proyecto en eclipse para usar las clases de Taste) no ayuda ... – Thomas

+0

¿No estás seguro de lo que quieres decir? Esta parte del código tiene solo algunas dependencias ... Creo que SLF4J y Google Guava. Es un proyecto basado en Maven, por lo que solo puede confiar en él con unas pocas líneas en su proyecto Maven si usa Maven. También tiene un .jar simple provisto desde el proyecto con todo, que puede colocar en cualquier proyecto de Eclipse como cualquier otra biblioteca. Eso es todo, no mucho para documentar, pero si tiene problemas específicos, estoy seguro de que se puede resolver en [email protected] –

1

¿Has probado RapidMiner? Si está interesado simplemente intente cosas como evaluar la precisión y recuperar sin concentrarse en la codificación. Esa es la herramienta para ti. Hay buena información en la web, incluso en el tutorial de videos en papel y youtube, para ayudarlo.

Cuestiones relacionadas