如何从头开始实施关联规则分析或市场篮子分析?

Posted

技术标签:

【中文标题】如何从头开始实施关联规则分析或市场篮子分析?【英文标题】:How to implement Associative Rules Analysis or Market Basket Analysis from scratch? 【发布时间】:2016-07-17 21:56:15 【问题描述】:

我尝试阅读大量文章,试图了解将关联分析(可能是购物篮分析)纳入我的系统的第一步应该是什么。他们都深入到算法的实现中,但没有人首先谈论如何存储数据。 如果有人能给我一些入门指南或文章链接,我将不胜感激。

我要实现的第一件事是跟踪用户点击并根据跟踪的数据提供建议。 例如。用户点击了链接 A,随后点击了链接 B 和链接 C。我可以通过一些关联的元数据(用户、用户组织、用户角色等)来跟踪此活动

我不希望它仅限于链接。将来,我想在系统中添加一些类似的用例,并让它变得更智能。例如。如果用户为字段 A 和 B 设置特定值,他/她很可能会为字段 C 设置值 <bla>

我的系统一天可能会生成数千个这样的数据点(例如用户点击、字段选择等)。

以下是我的问题:

    我应该如何存储我的数据? Go SQL 或 No SQL(我简要研究了 Mongo DB,它看起来很有希望)

    我应该使用什么工具来执行关联分析?有没有我可以使用的开源工具?

【问题讨论】:

【参考方案1】:

    视情况而定。你的数据适合 NoSql 数据库吗?要回答这个问题,最好阅读 CAP Theorem 及其案例研究:https://en.wikipedia.org/wiki/CAP_theorem 或 http://robertgreiner.com/2014/06/cap-theorem-explained/ .有时您需要一致性(取决于您的数据)和可用性 =>,因此最好使用 mysql 等关系数据库(尝试阅读案例研究并分析您的数据以选择最佳工具)

    有大量的开源库,但我认为最好先阅读一些概念和算法。尝试搜索 AprioriECLATFP-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,我浏览了您提供的材料,这是非常好的信息。非常感谢。一旦我们有了完整的系统,我将更新这个线程,解释我们最终使用的内容。 嗨,当然,它对 AR 实施的每个新手都有用

以上是关于如何从头开始实施关联规则分析或市场篮子分析?的主要内容,如果未能解决你的问题,请参考以下文章

关联规则分析怎么做?

用R语言进行关联分析

Python中的Apriori关联算法-市场购物篮分析

无监督学习算法-Apriori进行关联分析

如何看待因果关系与关联规则有啥区别?

关联分析原理小结