Хорошая совместная библиотека фильтрации / сопоставления / рекомендаций для Python / Django?

Я ищу библиотеку, которую я могу использовать для сопоставления моих пользователей с другими моделями Django на основе ответов на вопросы, а также мою собственную модель Django.

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

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

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


person Colleen    schedule 20.01.2012    source источник
comment
сопоставить моих пользователей с другими моделями Django на основе ответов на вопросы? Вы можете это объяснить?   -  person S.Lott    schedule 21.01.2012
comment
Не могли бы вы обновить вопрос, чтобы все факты были собраны в одном удобном для чтения месте?   -  person S.Lott    schedule 24.01.2012
comment
Коллин, было бы полезно разместить соответствующие модели, чтобы дать хорошее представление об их структуре. В верхней части моей головы я не знаю существующей библиотеки, которая бы делала то, что вы хотите, в основном потому, что кажется, что она будет слишком специфичной для реализации.   -  person Jordan Reiter    schedule 30.01.2012


Ответы (3)


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

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

person Josep Valls    schedule 23.02.2012
comment
Спасибо! Выглядит очень здорово! - person Colleen; 23.02.2012

Есть несколько хороших книг на тему социальных сетей в сочетании с Python.

person Jonas Geiregat    schedule 02.02.2012

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

По сути, это библиотека Recommender Algorithms as a Service. Настройка очень проста: вам нужно только отправить HTTP-вызовы (что вы можете сделать с Django) на URL-адрес конечной точки API, чтобы обучить вашу модель и получить рекомендации. Ознакомьтесь с инструкциями.

С помощью Abracadabra Recommender 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, _14 _... на домашняя страница API.

person JohnAndrews    schedule 27.04.2017