15

Я ищу библиотеку, которую я могу использовать для сопоставления моих пользователей с другими моделями Django на основе ответов на вопросы - также моя собственная модель django.Хорошая совместная фильтрация/сопоставление/библиотека рекомендаций для Python/Django?

Так что я хотел бы что-то настраиваемое, с хорошей документацией/поддержкой и, надеюсь, не слишком сложно реализовать!

Есть ли у кого-нибудь хорошие рекомендации? Я просмотрел Краба и Джанго-рекомендатора, но ни один из них не очень хорошо документирован.

В основном у меня есть два приложения для опроса, с соответствующими, но не идентичными вопросами и ответами. Например. вопрос в app1 может быть «сколько ночей в неделю вы пьете?» и вопрос в app2 может быть «сколько ночей в неделю вы ожидаете выпить?», с иностранным ключом к первому вопросу в этом случае. Я хочу принять ответы на эти вопросы и использовать их для объединения пользователей из каждого набора друг с другом, чтобы дать пользователям рекомендации группы 2 на основе того, что уже используют пользователи из группы 1.

+1

«соответствует моим пользователям другим моделям Django, основанным на ответах на вопросы»? Вы можете это объяснить? –

+0

Не могли бы вы ** обновить ** вопрос, содержащий все факты в одном, удобном для чтения месте? –

+2

Коллин, было бы полезно опубликовать соответствующие модели, чтобы дать хорошее представление об их структуре. С головы до ног я не знаю, что существующая библиотека делает то, что вы хотите, в основном потому, что кажется, что она окажется слишком специфичной для реализации. –

ответ

2

Они покрыли эту тему в свободном классе Stanford ML. Проверьте видео для главы XVI в http://www.ml-class.org/course/video/preview_list

Хотя реализация обсуждается Matlab/октава должно быть не трудно реализовать в Python, даже проще, если вы используете Numpy

+0

Спасибо! Это выглядит великолепно! – Colleen

0

очень гибкое решение, которое работает в любой кодировке Язык (включая Python) - Abracadabra Recommender API.

В основном это Рекомендатор Алгоритмы как услуга библиотека. Настройка очень проста: вам нужно только отправлять HTTP-вызовы (которые вы можете делать с Django) на URL-адрес конечной точки API для обучения вашей модели и получения рекомендаций. View the docs how.

С API Абракадабра Рекомендатор, при использовании Python, нужно сначала добавить данные в модель:

# 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" 
    } 
) 

Тогда вы тренируетесь модель по рейтингу или симпатия предметов (например, фильмы):

# 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" 
    } 
) 

После этого вы получите рекомендации на основе контентной, совместной или гибридной фильтрации следующим образом:

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

Вы можете просмотреть еще пример на других языках, в том числе Angular, React, Javascript, NodeJS, Curl, Java, Python, Objective-C, Ruby, .NET ... на API homepage.