用R语言进行关联分析

本文详细介绍了使用R语言进行关联分析,特别是Apriori算法的应用。文章讲解了关联分析的基本概念,如项集、关联规则、支持度、置信度和提升度,并通过实例展示了如何利用R的`arules`包读取数据、调用Apriori算法,并对结果进行排序和筛选。最后,阐述了Apriori算法的两步法:频繁项集的产生和规则的产生,以及剪枝策略。
摘要由CSDN通过智能技术生成

主要参考《数据挖掘:R语言实战》(黄文,王正林编著)

用R语言进行关联分析

    关联是两个或多个变量取值之间存在的一类重要的可被发现的某种规律性。关联分析目的是寻找给定数据记录集中数据项之间隐藏的关联关系,描述数据之间的密切度。

 

几个基本概念

1.      项集

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

2.      关联规则

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

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

 

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

3.      支持度(Support)

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

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

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

 

4.      置信度(Confidence)

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

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

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

 

5.      提升度(lift)

提升度表示在含有X的条件下同时含有Y的可能性与没有X这个条件下项集中含有Y的可能性之比:

         该指标与置信度同样衡量规则的可靠性,可以看作是置信度的一种互补指标。

 

R中Apriori算法

算法步骤:

1.      选出满足支持度最小阈值的所有项集,即频繁项集;

2.      从频繁项集中找出满足最小置信度的所有规则。

 

> library(arules)   #加载arules

> click_detail =read.transactions("click_detail.txt",format="basket",sep=",",cols=c(1))  #读取txt文档(文档编码为ANSI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值