关联规则挖掘rWord文档下载推荐.docx
《关联规则挖掘rWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《关联规则挖掘rWord文档下载推荐.docx(10页珍藏版)》请在冰点文库上搜索。
Lift(X=>
Y)=CONF(X=>
Y)/SUPP(Y)=P(XandY)/(P(X)P(Y))提升度
(Lift)是避免了一些不平衡数据标签的偏差性,
Lift越大,则数据质量较好;
Lift越小,则数据越不平衡。
2、数据准备和arulesViz的统一接口
使用扩展包arulesViz之前,我们首先需要加载它。
这个包会自动加载其他所需要的数据包,如arules。
如下面的数据集Groceries包含在arules包里面。
>
library("
arulesViz"
)
data("
Groceries"
summary(Groceries)
设置支持度为0.001,置信度为0.5,R语句入下:
rules<
-apriori(Groceries,parameter=list(support=0.001,confidence=0.5))
rules
setof5668rules
结果共找出了5668条规则。
按照Lift降序排,最大的三条规则如下:
inspect(head(sort(rules,by="
lift"
),3))
lhsrhssupportconfidencelift
1{Instantfoodproducts,
soda}=>
{hamburgermeat}0.0012201320.631578918.99565
2{soda,
popcorn}=>
{saltysnack}0.0012201320.631578916.69779
3{flour,
bakingpowder}=>
{sugar}0.0010167770.555555616.40807
3、散点图
直接用plot画出散点图
plot(rules)
图1
从图1可以看到高lift对应低supp。
另外一些科学家认为最有意思的规则在supp/conf的边沿上,如图1所示。
head(quality(rules))
supportconfidencelift
10.0011184540.73333332.870009
20.0012201320.52173912.836542
30.0013218100.59090912.312611
40.0013218100.56521742.212062
50.0013218100.52000002.035097
60.0036603970.64285712.515917
如果我们想个性化plot图中的坐标的特征,将颜色表示conf,lift为纵标轴,如下所示。
图2
plot(rules,measure=c("
support"
"
),shading="
confidence"
图2中的y轴是lift,这里可以比较清晰地看出很多的规则都有高lift。
图3
plot(rules,shading="
order"
control=list(main="
Two-keyplot"
))
图3中,supp为x轴,conf为y轴,颜色的深浅表示“order”,例如规则里频繁项的个数。
从图中可以看出,order和supp有着很强的负相关性。
这在关联规则中也是熟知的。
散点图方法提供了互动功能的选择和缩放,可以使用interactive=TRUE来实现。
图4
sel<
-plot(rules,measure=c("
+interactive=TRUE)
图4中选择了lift较高的几个点,并且使用inspect按钮,在终端的界面上便显示了这些规则。
4、基于分组矩阵的可视化
基于矩阵的可视化中只能有效处理规则数较少的可视化,因为大的规则集通常也有大量LHS/RHS(左边的集合/右边的集合)的限制。
在这里,我们引入一个新的可视化技术,通过使用聚类方法将规则分组,可提高基于矩阵的可视化。
一个直接的方法来聚类频繁项集,便是定义两个项集(Xi和Xj)之间的距离。
一个比较好的选择是使用Jaccarddistance。
有几种方法,以聚类关联规则和频繁项集解决高维和数据稀疏问题。
有的建议要观察包含在频繁项集中的项的交易的个数。
然而,他对从相同频繁项集产生的聚类规则有着很强的偏向。
由频繁项集的定义,一个频繁项集的两个子集都将适用于许多常见的交易。
这种偏见会导致大多只是从集合关联规则重新发现已知的频繁项集的结构。
为了使分组速度加快并且有效地分为K类,这里使用了K-means聚类方法。
这个思路是LHS和RHS统计上是相似的则被归为一类。
相对于频繁项集的其他聚类结果,这种方法得出含有替代品的分组(如“黄油”和“人造黄油”),这些通常是很少一起购买的,但因为他们有着相似的RHS。
相同的分组方法也作用于后项。
然而,由于挖掘的规则只得出一个RHS的项集,因此这里没有组合爆炸的问题,但这样的分组通常也是不需要的。
在可视化图中,LHS是列,RHS是行,lift是圈的颜色深浅,圈的大小是聚合后的支持度。
LHS的个数和分组中最重要(频繁)项集显示在列的标签里。
lift从左上角到右下角逐渐减少。
plot(rules,method="
grouped"
图5
lift从左上角到右下角的颜色逐渐变小。
这里有3条规则包含“Instantfoodproducts”,RHS超过2个其他项集的是“hamburgermeat”。
组的个数默认是20个,我们也可以通过添加control=list(k=50)来改变组的个数。
5、基于图的可视化
基于图形的可视化技术,利用顶点代表项或者项目集,和边表示规则中关系的关联规则。
强度通常使用颜色或者边的宽度来表示。
基于图形的可视化提供了一个规则非常明确的展示,但他们规则越多则往往容易变得混乱,因此比较可行的是使用非常小的规则集。
对于下面的图,我们选择了10条具有高lift的规则。
subrules2<
-head(sort(rules,by="
),10)
arulesViz包含了一些基于图形的可视化展示,使用Rgraphviz扩展包的一些接口。
默认的版本点代表项目集,表代表规则项集之间的有向边。
图6
plot(subrules2,method="
graph"
图7
control=list(type="
items"
图7着重于规则是如何由个别项目组成的,并显示哪些规则共享的项目。
arulesViz的内置基于图形的可视化只对规则数较少时有效。
探索大量规则的可视化,需要先进的图形放大,过滤,分组和着色节点的交互功能。
7、平行坐标图(Parallelcoordinatesplot)
平行坐标图将多维数据共享,使得每个维度上分别显示在x轴和y轴。
每个数据点是由连接的值对于每个维度中的线表示。
每个数据点由连接每个维度的线表示。
8、小节