15

Estoy buscando una biblioteca que pueda usar para unir mis usuarios a otros modelos de Django basados ​​en respuestas a preguntas, también mi propio modelo django.¿Una buena biblioteca colaborativa de filtro/coincidencia/recomendación para Python/Django?

Así que me gustaría algo personalizable, con buena documentación/soporte, ¡y espero que no sea demasiado difícil de implementar!

¿Alguien tiene alguna buena recomendación? Miré a Crab y a Django-recommender, pero ninguno de los dos está muy bien documentado.

básicamente lo que tengo son dos aplicaciones de encuestas, con preguntas y respuestas correspondientes, pero no idénticas. P.ej. una pregunta en la aplicación1 podría ser "¿cuántas noches a la semana toma?" y una pregunta en la aplicación2 podría ser "¿cuántas noches a la semana espera beber?", con una clave externa a la primera pregunta de la instancia. Quiero tomar las respuestas a estas preguntas y usarlas para emparejar a los usuarios de cada conjunto, para dar a los usuarios las recomendaciones del grupo 2 en función de lo que los usuarios del grupo 1 ya usan.

+1

"unir mis usuarios a otros modelos de Django en función de las respuestas a las preguntas"? ¿Puede explicar esto? –

+0

¿Puede ** actualizar ** la pregunta para contener todos los hechos en un solo lugar, fácil de leer? –

+2

Colleen, sería útil publicar los modelos pertinentes para dar una buena idea de su estructura. No sé de una biblioteca existente para hacer lo que quieres, sobre todo porque parece que terminaría siendo demasiado específico para una implementación. –

Respuesta

2

cubrieron este tema en la clase libre de Stanford ML. Compruebe los vídeos para el capítulo XVI en http://www.ml-class.org/course/video/preview_list

Aunque la aplicación discutida es Matlab/octava que no debe ser difícil de implementar en Python, aún más fácil si está utilizando Numpy

+0

¡Gracias! ¡Eso se ve muy bien! – Colleen

0

Una solución muy flexible que funciona en cualquier codificación el lenguaje (incluido Python) es el Abracadabra Recommender API.

Básicamente es Algoritmos de recomendación como servicio biblioteca. La configuración es muy sencilla: solo necesita enviar llamadas HTTP (que puede hacer con Django) a la URL del punto final de API para capacitar a su modelo y recibir recomendaciones. View the docs how.

Con la API de Abracadabra de recomendación, cuando se utiliza Python, primero agregar datos a su modelo:

# These code snippets use an open-source library. http://unirest.io/python 
response = unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/add/subjects?recommenderId=rec1&subjectId=See+docs", 
    headers={ 
    "X-Mashape-Key": "<required>", 
    "Accept": "application/json", 
    "Content-Type": "application/json" 
    } 
) 

A continuación, se entrena el modelo de clasificación o el gusto de los sujetos (por películas instancia):

# These code snippets use an open-source library. http://unirest.io/python 
response = unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/rate/subject?recommenderId=rec1&subjectId=gameofthrones&subjectWeight=10&userId=user1", 
    headers={ 
    "X-Mashape-Key": "<required>", 
    "Accept": "application/json", 
    "Content-Type": "application/json" 
    } 
) 

Una vez hecho esto, recibirá recomendaciones basadas en el filtrado basado en contenido, colaborativo o híbrido de la siguiente manera:

Puede ver ejemplo más en otros idiomas, incluyendo Angular, React, Javascript, NodeJS, Curl, Java, Python, Objective-C, Ruby, .NET ... en el API homepage.

Cuestiones relacionadas