关联规则挖掘及R算法实现

本文介绍了关联规则挖掘的基本概念,包括项集、支持度、置信度和提升度,并详细阐述了Apriori算法的基本思想、过程及其实现。接着,文章展示了如何使用R语言的arules库进行关联分析,包括主要函数的使用和参数设置,提供了一个完整的关联挖掘流程示例。
摘要由CSDN通过智能技术生成

关联规则挖掘及R算法实现

关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。如果两项或多项属性之间存在关联,那么其中一项的属性就可以依据其他属性值进行预测。它在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。

关联规则挖掘的一个典型例子是购物篮分析。关联规则研究有助于发现交易数据库中不同商品(项)之间的联系,找出顾客购买行为模式,如购买了某一商品对购买其他商品的影响。分析结果可以应用于商品货架布局、货存安排以及根据购买模式对用户进行分类。

最著名的关联规则是Apriori算法。关联规则挖掘问题可以分为两个子问题:第一步是找出事务数据库中所有大于等于用户指定的最小支持度的数据项集,也就是频繁项集;第二步是利用频繁项集生成所需要的关联规则,根据用户设定的最小置信度进行取舍,最后得到强关联规则。识别或发现所有频繁项目集市关联规则发现算法的核心。

1、关联规则的基本描述

1.1项与项集

这是一个集合的概念,在一篮子商品中的一件消费品即为一项(Item),则若干项的集合为项集,如{ 啤酒,尿布}构成一个二元项集。

1.2关联规则

一般记为的形式,X为先决条件,Y为相应的关联结果,用于表示数据内隐含的关联性。如:表示购买了尿布的消费者往往也会购买啤酒。

关联性强度如何,由三个概念——支持度、置信度、提升度来控制和评价。

 例:有10000个消费者购买了商品,其中购买尿布1000个,购买啤酒2000个,购买面包500个,同时购买尿布和面包800个,同时购买尿布和面包100个。

1.3支持度(Support)

支持度是指在所有项集中{X, Y}出现的可能性,即项集中同时含有XY的概率:

该指标作为建立强关联规则的第一个门槛,衡量了所考察关联规则在“量”上的多少。通过设定最小阈值(minsup),剔除“出镜率”较低的无意义规则,保留出现较为频繁的项集所隐含的规则。

设定最小阈值为5%,由于{ 尿布,啤酒}的支持度为800/10000=8%,满足基本输了要求,成为频繁项集,保留规则;而{ 尿布,面包}的支持度为100/10000=1%,被剔除。

1.4置信度(Confidence)

置信度表示在先决条件X发生的条件下,关联结果Y发生的概率:

这是生成强关联规则的第二个门槛,衡量了所考察的关联规则在“质”上的可靠性。相似的,我们需要对置信度设定最小阈值(mincon)来实现进一步筛选。

具体的,当设定置信度的最小阈值为70%时,置信度为800/1000=80%,而的置信度为800/2000=40%,被剔除。

1.5提升度(lift)

提升度表示在含有X的条件下同时含有Y的可能性与没有X这个条件下项集中含有Y的可能性之比:公式为confidence(artichok => cracker)/support(cracker) = 80%/50% = 1.6。该指标与置信度同样衡量规则的可靠性,可以看作是置信度的一种互补指标。

2、Apriori算法

2.1 Apriori算法基本思想

Apriori算法基本思想是通过对数据库的多次扫描来计算项集的支持度,发现所有的频繁项集从而生成关联规则。Apriori算法对数据集进行多次扫描。第一次扫描得到频繁1-项集的集合L1,第k(k>1)次扫描首先利用第(k-l)次扫描的结果Lk来产生候选k-项集的集合Ck,然后再扫描的过程中确定Ck中元素的支持度,最后再每一次扫描结束时计算频繁k-项集的集合Lk,算法当候选k-项集的集合Ck为空时结束。

2.2 Apriori算法产生频繁项集的过程

产生频繁项集的过程主要分为连接和剪枝两步:

①连接步。为找Lk,通过Lk-1与自身作连接产生候选k-项集的集合Ck。设和是Lk-1中的项集。记表示的第j个项。Apriori假定事务或项集中的项按字典次序排序。对于(k-1)项集,意味将项排序,使<  <…<。如果Lk-1的元素和的前ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值