文章标题

来源:互联网 发布:李炎恢php第一季讲义 编辑:程序博客网 时间:2024/06/07 15:48

2016-7-12

频繁模式挖掘:挖掘数据集中频繁出现的项集,
关联规则:反应商品之间的关联度,规则兴趣度的两种度量是:支持度和置信度
支持度表示,两种或多种相关联的商品同时出现的概率。
置信度表示,一种商品出现时,与之相关联的商品也出现的概率。
support(A==>B) = P(A∪B)
confidence(A==>B) = P(A|B)

关联规则的挖掘一般是两步的过程:
1 找出所有的频繁项集
2 由频繁项集产生强关联规则

频繁模式挖掘方法
Apriori算法:首先,通过扫描数据库,累计每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。记该集合为L1. 然后,使用L1自连接并与支持度阀值比较,找出频繁2项集的集合L2,依次下去,直到不能再找到频繁k项集。
过程中运用到的先验性质:频繁项集的所有非空子集也一定是频繁的。
这种性质可以压缩搜索空间。

由频繁项集产生关联规则
TID 商品ID的列表
T100 I1 I2 15
T200 I2 I4
T300 I2 I3
T400 I1 I2 14
T500 I1 I3
T600 I2 I3
T700 I1 I3
T800 I1 I2 I3 I5
T900 I1 I2 I3

由Apriori算法,支持度阀数为2得到的最终的频繁项集为{I1 ,I2 , I3}, {I1 ,I2 , I5},以{I1 ,I2 , I3}为例,发现它可以产生的关联规则,该频繁项集的所有子集为{I1}, {I2}, {I5}, {I1 ,I2}, {I1 , I5} ,{I2,I5},结果关联规则如下,每个都列出了置信度:
{I1}==>{I2,I5}, confidence=2/6=33%
{I2}==>{I1,I5}, confidence=2/7=29%
{I5}==>{I1,I2}, confidence=2/2=100%
{I1,I2}==>I5, confidence=2/4=50%
{I1,I5}==>I2, confidence=2/2=100%
{I2,I5}==>I1, confidence=2/2=100%
如果最小置信度阀值为80%,则只有第三,第五,第六个规则可以输出。

提高Apriori算法的效率
为了解决怎么样才能进一步的提高基于Apriori挖掘的效率的问题,已经提出了许多Apriori算法的变形,其中一部分如下:
 基于散列的技术:如当扫描数据库中的每个事物时,由C₁中的候选1项集产生频繁1项集L₁时,可以对每个事物产生所有的2项集,将它们散列到散列表结构的不同桶中,并增加对应的桶计数,在散列表中, 对应的桶计数低于支持度阀值的2项集不可能是频繁的,因此应该从候选集中删除。
 事物压缩:不包含任何频繁k项集的事物不可能包含任何频繁k+1项集。因此这种事物在其后的考虑时,可以将其删除或加上标记,因为产生j(j>k)的数据库扫描不再需要它们。
 划分:为了找候选项集划分数据,分为两个阶段,第一阶段,把数据库中的事物划分为n个不重叠的分区,如果数据库中事物的最小支持度阀值为min_sup,则每个分区的最小支持度阀值为min_sup乘以该分区的事物数,然后得到每个分区的频繁项集,这些频繁项集作为数据库的全局候选项集。第二阶段,评估每个候选项集的实际支持度,以确定全局频繁项集。
Apriori算法的候选产生时利用先验性质可以显著的压缩候选项集的规模,并产生很好的性能,然而,它可能受两种非平凡开销的影响:
 它可能仍然需要产生大量候选项集。例如,有10的4次方个频繁1项集,则Apriori算法需要产生多达10的7次方个候选2项集。
 它可能需要重复的扫描整个数据库,通过模式匹配检查一个很大的候选集合。检查数据库中每个事物来确定候选项集支持度的开销很大。

0 0
原创粉丝点击