Как реализовать анализ ассоциативных правил или анализ корзины с нуля?

mongodb data-mining market-basket-analysis bigdata

755 просмотра

1 ответ

146 Репутация автора

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

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

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

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

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

  1. Как мне хранить мои данные? Go SQL или No SQL (я кратко посмотрел на БД Mongo, и это выглядело многообещающе)

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

Автор: Manan Источник Размещён: 17.07.2016 09:56

Ответы (1)


2 плюса

1262 Репутация автора

Решение
  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/

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

Автор: Masoud Размещён: 18.07.2016 02:31
Вопросы из категории :
32x32