频繁项集与关联规则挖掘

刚刚做完一个关联分析的工作,现在趁着跑代码的时间总结一下吧。现在其实这两都用的非常少了

关联分析

目的用于发现数据中可能隐含的有意义的联系。联系则可以通过频繁项集与关联规则来表示。

比如:若存在这样的关联规则:{尿布}—>{啤酒},则说明尿布与啤酒之间存在很强的联系。那么这种规则建立的规则是什么?最基本的首先要该组合出现的次数足够多,若数据仅仅是在10次里出现5次,显然缺乏说服力。那么我们要得到关联规则的首先工作就是要统计项集出现的频繁程度。

项集:

包含一种或者多种事务的集合,比如{尿布,牛奶}是一个包含2项的项集。

关联规则:

比如若存在形如{尿布}—>{啤酒}的表示,代表购买尿布的客户与购买啤酒的客户有较大的关联,可以说是重叠的较多,即存在许多同时购买了尿布和啤酒的用户。那么在有许多关联规则的情况下,该如何判断哪些是更有意义的呢?

衡量指标

一般是通过支持度与置信度两个指标来共同衡量:

支持度:

表示该规则所包含的事务共同出现的频繁程度。比如{尿布}->{啤酒},可通过{尿布,啤酒}/{样本总数}来得到。即S(X->Y) = n(X U Y)/N

置信度:

表示Y事务,在X事务出现的频繁程度。如{尿布}—>{啤酒},则计算{尿布,啤酒}/{包含尿布事务的总数}。即C(X->Y) = n(X U Y)/N(X)

简单来说,二者区别就只在于分母。先通过计算前提事务在所有样本中出现的频繁程度,若足够频繁,再通过计算该规则在对应事务总数下的频繁程度。二者都频繁,才会有进一步分析的意义。

猜你喜欢

转载自blog.csdn.net/caizd2009/article/details/80846468