关联分析

许多商业企业运营中的大量数据,通常称为购物篮事务(market basket transaction)。表中每一行对应一个事务,包含一个唯一标识TID。
购物篮数据
利用关联分析的方法可以发现联系如关联规则或频繁项集。
关联分析需要处理的关键问题:

从大型事务数据集中发现模式可能在计算上要付出很高的代价。
所发现的某些模式可能是假的,因为它们可能是偶然发生的。
二元表示
没按过对应一个事务,每列对应一个项,项用二元变量表示

项在事务中出现比不出现更重要,因此项是非对称的的二元变量。
项集(Itemset):包含0个或多个项的集合,如果包含k个项,则称为k-项集。
事务的宽度:事务中出现的项的个数
支持度数(Support count):包含特定项集的事务个数,项集X的支持度数为σ(X)=|ti|X⊆ti,ti∈T|σ(X)=|ti|X⊆ti,ti∈T|,其中T为事务集合
关联规则(association rule):如X→YX→Y的蕴含表达式,其中X和Y是不相交的项集,X∩Y=∅X∩Y=∅。关联规则的强度可以用支持度(support)和置信度(confidence)度量。支持度确定规则可以用于给定数据集的频繁程度,而置信度确定Y在包含X的事务中出现的频繁程度。支持度s和置信度c:
s(X→Y)=σ(X∪Y)N
s(X→Y)=σ(X∪Y)N

c(X→Y)=σ(X∪Y)σ(X)
c(X→Y)=σ(X∪Y)σ(X)

使用支持度和置信度原因:

支持度很低的规则只能偶然出现,支持度通常用来删除那些无意义的规则。还具有一种期望的性质,可以用于关联规则的发现。
置信度度量通过规则进行推理具有可靠性。对于给定的规则,置信度越高,Y在包含X的事务中出现的可能性越大。置信度也可以估计Y在给定X的条件下概率。
在解析关联分析的结果时,应当小心,规则做出去的推论并不必然蕴含因果关系。它只表示规则前件和后件中的项明显地同时出现。另一方面,因果关系需要关于数据中原因和结果属性的知识,并且通常涉及长期出现的联系。

关联规则发现:给定事务集合T,关联规则发现是指找到支持度大于等于阈值minsup并且置信度大于等于minconf的所有规则。
挖掘关联规则的一种原始方法是计算每个可能规则的支持度和置信度,但是代价很高。因此提高性能的方法是拆分支持度和置信度。因为规则的支持度主要依赖于X∪YX∪Y的支持度,因此大多数关联规则挖掘算法通常采用的策略是分解为两步:

频繁项集产生,其目标是发现满足具有最小支持度阈值的所有项集,称为频繁项集(frequent itemset)。
规则产生,其目标是从上一步得到的频繁项集中提取高置信度的规则,称为强规则(strong rule)。
通常频繁项集的产生所需的计算远大于规则产生的计算花销。

上一篇:【转】用capability 特征加强Linux系统安全


下一篇:洛谷P1091 合唱队形