大数跨境
0
0

开年迎接新挑战,一起学习关联规则挖掘技术

开年迎接新挑战,一起学习关联规则挖掘技术 亿信华辰
2018-02-27
2
导读:高难度知识学习,你,敢挑战吗?


当我们在某电商网站搜索“数据挖掘”的书时,商品页面会同时推荐一些其它类似的书籍,这里面就用到了“剁手党们”天天接触到的关联规则挖掘技术。



关联规则(Association Rules)是反映一个事物与其他事物之间的相互依存性和关联性,如果两个或多个事物之间存在一定的关联关系,那么,其中一个事物就能通过其他事物预测到。关联规则是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。


关联规则挖掘的最经典的例子就是沃尔玛的啤酒与尿布的故事。通过对超市购物篮数据进行分析,发现美国妇女们经常会叮嘱丈夫下班后为孩子买尿布,30%-40%的丈夫同时会顺便购买喜爱的啤酒,超市就把尿布和啤酒放在一起销售增加销售额。所以关联规则挖掘有时也叫购物篮分析。


关联规则挖掘方法


支持度和置信度

要了解关联规则,就要了解什么是“经常同时购买”。这是通过支持度(support)与置信度(confidence)来衡量的。

  • 支持度:support(A-->B) = |AB|/|N|

    商品A和B(如啤酒和尿布) 同时出现在同一个购物清单中的数量 / 总的购物清单数。

  • 置信度:confidence(A-->B) = |AB|/|A|

    同时出现在同一个购物清单中的数量/A出现的数量。即规则A-->B的可信度。


可信度是对关联规则的准确度的衡量,支持度是对关联规则重要性的衡量。

支持度说明了这条规则在所有事务中有多大的代表性,显然支持度越大,关联规则越重要。


关联规则有很多不同的算法,下面介绍两种最经典的算法。


Apriori算法

Apriori算法是一种对有影响的挖掘布尔关联规则频繁项集的算法,通过算法的连接和剪枝即可挖掘频繁项集。


Apriori算法将发现关联规则的过程分为两个步骤:

1. 通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;

2. 利用频繁项集构造出满足用户最小置信度的规则。


挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。



FP-Growth算法

FP-Growth算法通过构造一个树结构来压缩数据记录,使得挖掘频繁项集只需要扫描两次数据记录,而且该算法不需要生成候选集合,所以效率会比较高。FP-Growth算法主要步骤:

1. 利用数据集中的数据构造FP-Tree。

从空集开始,将过滤和重排序后的频繁项集依次添加到树中。



2. 从FP-Tree中挖掘频繁模式。

构建好 FPFP 树后,即可抽取频繁项目集,其思路与 Apriori 算法类似——先从单元素频繁项目集开始,然后逐步构建更大的频繁项目集。



关联规则挖掘的步骤


接下来我们在WonderDM中介绍一下进行关联规则挖掘的步骤。


准备数据

我们准备了某超市的一些购物篮数据。



该数据集有7个字段。根据关联规则的挖掘特性,需要选择一个事务字段和一个事项字段。不然发现,CARD_NO(卡号)字段同一卡号购买过多种不同商品,可作为事务字段,而GOODS(购买商品)字段可作为事项字段。另外,界面信息显示,该数据集有2800条购买数据,由939个客户(卡号)购买了11种不同商品,符合“经常同时购买”的特征。


接下来我们开始用数据集训练一个合适的关联规则模型。


训练模型

先创建一个挖掘过程,选择关联规则FP-Growth进入挖掘过程界面。



系统内置了两种关联规则算法,他们的参数设置都一样。我们选择性能较好的FP-Growth算法。再选择“购物篮”数据集,选择CARD_NO字段为事务字段,GOODS字段为项字段,设置所有数据参与挖掘(100%抽样)。最低支持度设置为5项,最小可信度设置为40%。注意,这两个参数设置过大,可能挖掘不出关联规则,可根据实现情况调整。点击”训练模型”菜单查看训练出来的关联规则。



如上图所示,该模型挖掘到了100条关联规则。每条关联规则左边代表。


系统虽然内置了FP-Growth和Apriori两种挖掘算法,而且操作方法一样,但它们还是存在以下特点:

  • Apriori算法效率较低,计算过程中需要多次扫描整个数据集,占用较多的内存和计算时间;

  • FP-Growth算法效率较高,只需要扫描两次数据集,占用更少的内存和计算时间。但对于长事务(同一事务,很多事项),会造成FP树深度过大,计算时间显著增加。


所以在选择算法时,绝大部分情况下,可以优先选择FP-Growth算法。


模型应用

关联规则模型的应用同其它类型的挖掘模型,也是要先发布选择好的关联规则模型,再制作相应的模型应用用于关联规则的显示和查询。这里就不重复讲解了。


小  结


关联规则挖掘的应用领域非常多,但凡需要分析事物和事物间的频繁模式的场景,都可以用到关联规则挖掘。这项技术在一些众所周知的行业有了许多成熟应用,例如:

  • 电商或零售业的商品推荐

  • 百度文库推荐相关文档

  • 医疗推荐可能的治疗组合

  • 生物研究中,发现有毒植物的共性特征,识别有毒植物

  • 银行推荐相关联业务

  • 搜索引擎推荐相关搜索关键词

  • 门户网站通过点击流分析热点新闻


看到这些应用,你是不是也想为你的系统增加智能推荐的神奇功能呢?



【声明】内容源于网络
0
0
亿信华辰
领先的数据分析和数据治理软件厂商 | 中国数据治理解决方案市场第一 | 数据资产管理标杆厂商 | Data Agent | 数据中台
内容 886
粉丝 0
亿信华辰 领先的数据分析和数据治理软件厂商 | 中国数据治理解决方案市场第一 | 数据资产管理标杆厂商 | Data Agent | 数据中台
总阅读1.6k
粉丝0
内容886