频繁项目集(Frequent Itemset)是指在数据集中出现频率较高的项目组合,通常会在关联分析中用到。一个项目集(Itemset)是一个包含若干个项目的集合,而频繁项目集是指满足某个最小支持度阈值的项目集。
频繁项目集的定义
给定一个数据集和一个最小支持度阈值min_support,如果某个项目集的支持度大于或等于这个阈值,就称该项目集为频繁项目集。支持度可以通过以下公式计算:
支持度 = 包含该项目集的事务数量 / 总事务数量示例
假设一个小型超市的数据集中包含以下购物记录(每行表示一个购物篮):
- {牛奶, 面包, 鸡蛋}
- {牛奶, 面包}
- {牛奶, 鸡蛋}
- {面包, 鸡蛋}
- {牛奶, 面包, 鸡蛋}
假设最小支持度阈值 min_support = 0.4(即频繁项目集必须出现在40%以上的记录中)。我们来分析一下每个项目集的支持度:
- 项目集 {牛奶} 的支持度为 4 / 5 = 0.8,是频繁项目集。
- 项目集 {面包} 的支持度为 4 / 5= 0.8,是频繁项目集。
- 项目集 {鸡蛋} 的支持度为 3 / 5 = 0.6,是频繁项目集。
- 项目集 {牛奶, 面包} 的支持度为 3 / 5 = 0.6,是频繁项目集。
- 项目集 {牛奶, 鸡蛋} 的支持度为 3 / 5 = 0.6,是频繁项目集。
- 项目集 {面包, 鸡蛋} 的支持度为 3 / 5 = 0.6,是频繁项目集。
- 项目集 {牛奶, 面包, 鸡蛋} 的支持度为 2 / 5 = 0.4,是频繁项目集。
频繁项目集的作用
在关联规则挖掘中,频繁项目集是生成关联规则的基础。通过识别频繁项目集,我们可以挖掘出重要的关联关系,如“如果买了牛奶,那么也买了面包”的规则。
常见算法
常见的频繁项目集挖掘算法包括:
- Apriori算法:逐层生成频繁项目集,基于“如果某个项目集是频繁的,那么它的所有子集也是频繁的”这一原则来剪枝。
- FP-Growth算法:构建一个频繁模式树(FP-Tree),通过递归的方式高效地生成频繁项目集。
|