2016-07-17 3 views
1

Я попытался просмотреть многочисленные статьи, пытаясь понять, каким должен быть мой первый шаг, чтобы включить в мою систему ассоциативный анализ (может быть анализ Market Basket). Все они вникают в реализацию алгоритма, но никто не говорил о том, как хранить данные в первую очередь. Я буду очень признателен, если кто-то может дать мне некоторые начальные указатели или ссылки на статьи, с которых я начну.Как реализовать анализ ассоциативных правил или анализ рыночной корзины с нуля?

Первое, что я хочу реализовать, - отслеживать клики пользователей и предоставлять предложения на основе отслеживаемых данных. . Пользователь нажал на ссылку A, а затем на ссылку B и ссылку C. Я могу отслеживать это действие с некоторыми связанными метаданными (пользователь, организация пользователя, роль пользователя и т. Д.)

Я не хочу, чтобы он ограничивался только ссылками. В будущем я хочу добавить в систему количество подобных утипов и хочу сделать их умными. Например. Если пользователь задает конкретные значения для полей A и B, скорее всего, он/она установит значение <bla> для поля C.

Моя система может генерировать несколько тысяч таких точек данных за день (например, пользовательские клики, выбор полей и т. Д.). ,

Ниже приведены мои вопросы:

  1. Как следует хранить данные? Перейти SQL или Нет SQL (я кратко посмотрел на Mongo DB и выглядел многообещающе)

  2. Какой инструмент я должен использовать для проведения ассоциативного анализа? Есть ли какие-либо инструменты с открытым исходным кодом, которые я могу использовать?

ответ

2
  1. Это зависит. Имеются ли ваши данные для баз данных NoSql? Чтобы ответить на этот вопрос, лучше прочитать CAP-теорему, и это тематические исследования: https://en.wikipedia.org/wiki/CAP_theorem или http://robertgreiner.com/2014/06/cap-theorem-explained/ . Некоторое время вы хотите согласованность (в зависимости от ваших данных) и доступности =>, чтобы лучше использовать реляционные базы данных, такие как Mysql (попробуйте прочитать примеры из практики и проанализировать свои данные, чтобы выбрать лучшие инструменты)

  2. Существует большое количество библиотек с открытым исходным кодом, но, на мой взгляд, лучше сначала прочитать некоторые концепции и алгоритмы. Попробуйте искать Apriori, ECLAT, FP-GROWTH Алгоритмы и получить представление о них. то вы можете выбрать инструмент или написать код самостоятельно. Некоторые Полезные инструменты (в зависимости на ваш язык программирования):

Python: https://github.com/asaini/Apriori, https://github.com/enaeseth/python-fp-growth, https://github.com/enaeseth/python-fp-growth/blob/master/fp_growth.py

PHP: https://github.com/sigidhanafi/fp-growth-php

JAVA: https://github.com/goodinges/FP-Growth-Java, http://www.philippe-fournier-viger.com/spmf/

Также вы можете использовать Спарк : https://spark.apache.org/docs/1.1.1/mllib-guide.html

+0

Hi Masoud, Я просмотрел материалы, которые вы предоставили, это действительно хорошая информация. Большое спасибо. Я обновлю этот поток, когда у нас будет полная система, объясняющая, что мы в итоге использовали. – Manan

+0

Привет, конечно, это может быть полезно для всех новых для реализации AR – Masoud

Смежные вопросы