什么是频繁模式(Frequent Pattern )分析?
频繁模式:在数据集中频繁出现的模式(项集,子序列,子结构等)
- 项目集:牛奶和面包经常一起出现
- 子序列:购买PC,然后购买数码相机
- 子结构:大图中的频繁子图
在频繁项集和关联规则挖掘的背景下提出
动机:找到数据固有的规律性
- 通常一起购买什么产品? 啤酒和尿布?
- 购买电脑后,以后会购买什么
- 哪种DNA对新药敏感?
应用
- 购物篮数据分析,交叉营销,目录设计,促销活动分析,Web日志(点击流)分析和DNA序列分析
频繁模式挖掘为什么重要
频繁模式是数据集的固有和重要属性。
许多基本数据挖掘任务的基础
- 关联,关联和因果关系分析
- 顺序结构(例如子图)模式
- 时空,多媒体,时间序列和流数据中的模式分析
- 分类:区分性,频繁模式分析
- 聚类分析:基于频繁模式的聚类
- 数据仓库:iceberg多维数据集和多维数据集渐变
- 语义数据压缩:分册
- 广泛的应用
基础概念:频繁模式
- 项集(itemset):一组一个或多个项目
- k-项集(k-itemsets): 包含k个项目的项目集
2 itemsets:{beer, nuts},{beer, diaper}, {nuts, diaper} - 支持度(support): 包含项目集的交易数
support_count {beer, diaper}=3 - (相对)支持度:s, 是包含X的交易分数
- 频繁项目集
其support_count大于最小support_count(min_sup)
基础概念:关联原则
- 强关联规则: 具有最小支持和最小置信度的模式,表示为:
A -> B ;
A and B could be sets, A,B≠ φ , A∩B=φ - 支持度(s)
交易包含AUB的概率,P(AUB) - 置信度©
包含A的事务也包含B的条件概率 - A->B置信度
挖掘关联规则的问题可以简化为挖掘频繁项集的问题
Closed Patterns and Max Patterns
关联原则挖掘有两个步骤
- 找到所有的频繁项集
- 从这些项集中生成强关联原则
主要挑战:
特别是当min_sup很小时,会生成大量的频繁项集。
- 如果一个项目集是频繁的,那么它的所有子集也是频繁的
- 频繁项集{a 1 , …, a 100 } has 1.271030 频繁子集。
- 解决办法:挖掘closed frequent和max frequent itemsets
closed frequent
如果项目集A是频繁的,且不存在任何支持度相同的超级频繁项目集B(即B包含A),则项目集A是closed frequent。
max frequent
如果项目集A是频繁的,且不存在一个超级频繁项目集B(即B包含A),则项目集A是max frequent 。
- 令 {<a 1 , …, a 100 >, < a 1 , …, a 50 >} 是两个交易,min_sup = 1
- closed frequent itemsets:
C={ C={<a 1 , …, a 100 >:1, < a 1 , …, a 50 >:2} - max frequent itemsets
M={ M={<a 1 , …, a 100 >:1}
<a 1 , …, a 50 > 不是一个 max frequent itemset - C包含完整的信息以导出所有频繁项集
<a 2 , a 45 >: 2 是频繁的 因为 它是 < a 1 , …, a 50 >:2的子集
<a 2 , a 55 >: 1 是频繁的 因为 它是 <a 1 , …, a 100 >:1的子集
closed frequent 项目集的所有子集都是频繁的,且支支持度相同 - M不包含完整的信息
<a 2 , a 45 > and <a 2 , a 55 > 是频繁的但是但我们无法指出他们的支持度。
频繁项集挖掘的计算复杂性
- 最坏的情况下可能会生成多少个项目集?
要生成的频繁项集的数量对最小化阈值敏感
当minsup较低时,频繁项集的数量可能会成指数增长
最坏的情况:M的N次幂,其中M:不重复项目个数;N:最大交易长度 - 最坏情况下的复杂度与预期概率
例如:假设沃尔玛有10的4次方产品
拿起一件产品的机会10的4次方分之一
拿起特定10组产品的机会:10的负40次方分之一
这套特殊的10种产品有多少机会成为10的9次方交易中频繁10的3次方
频繁项集挖掘方法
可扩展的频繁项集挖掘方法
- Apriori:候选集生成和测试的方法
- Improving the Efficiency of Apriori
- FP growth: A Frequent Pattern Growth Approach
- ECLAT: Frequent Pattern Mining with Vertical Data Format
向下封闭性质及可扩展的挖掘方法
-
频繁模式的向下封闭性
频繁项目集的任何非空子集必须频繁
如果 {beer, diaper, nuts} 是频繁的, 那么 {beer, diaper}也是。
例如:每笔含有{beer, diaper, nuts}的交易也包含{beer, diaper} -
可扩展的开采方法
Apriori
Frequent pattern growth
Vertical data format
来源:https://blog.csdn.net/keke_Memory/article/details/102752108