如何从头开始实施关联规则分析或市场篮子分析?
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 等关系数据库(尝试阅读案例研究并分析您的数据以选择最佳工具)
有大量的开源库,但我认为最好先阅读一些概念和算法。尝试搜索 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,我浏览了您提供的材料,这是非常好的信息。非常感谢。一旦我们有了完整的系统,我将更新这个线程,解释我们最终使用的内容。 嗨,当然,它对 AR 实施的每个新手都有用以上是关于如何从头开始实施关联规则分析或市场篮子分析?的主要内容,如果未能解决你的问题,请参考以下文章