30. 给定如下表所示的一个事务数据集,假定最小支持度为0.5,请给出Apriori算法生成频繁项集的过程。 TID Items T1 {牛奶,面包} T2 {面包,尿布,啤酒,鸡蛋} T3 {牛奶,尿布,啤酒,可乐} T4 {面包,牛奶,尿布,啤酒} T5 {面包,牛奶,尿布,可乐}
时间: 2023-12-06 10:40:39 浏览: 59
首先,我们需要将每个事务中的项按照字典序排序,然后扫描一遍数据集,统计每个项的频数,得到1-项集(所有出现频数不小于最小支持度的项)。
| Item | Frequency |
|------|-----------|
| 面包 | 4 |
| 牛奶 | 4 |
| 尿布 | 3 |
| 啤酒 | 3 |
| 可乐 | 2 |
接下来,我们需要利用1-项集生成2-项集。具体过程如下:
1. 首先,将1-项集按照字典序排序,然后两两组合,得到所有的2-项集:
{面包, 牛奶}, {面包, 尿布}, {面包, 啤酒}, {面包, 可乐}, {牛奶, 尿布}, {牛奶, 啤酒}, {牛奶, 可乐}, {尿布, 啤酒}, {尿布, 可乐}, {啤酒, 可乐}
2. 对于每个2-项集,统计其在数据集中出现的频数,保留所有出现频数不小于最小支持度的2-项集:
{面包, 牛奶}:2
{面包, 尿布}:3
{面包, 啤酒}:2
{牛奶, 尿布}:3
{牛奶, 啤酒}:3
{尿布, 啤酒}:3
3. 我们可以将上一步得到的频繁2-项集组合成3-项集,并统计频数,保留所有出现频数不小于最小支持度的3-项集。但是,在这个数据集中,没有出现频数不小于最小支持度的3-项集,因此Apriori算法生成的频繁项集最高只有2项。
因此,Apriori算法生成的频繁项集为:
{面包}, {牛奶}, {尿布}, {啤酒}, {可乐}, {面包, 牛奶}, {面包, 尿布}, {面包, 啤酒}, {牛奶, 尿布}, {牛奶, 啤酒}, {尿布, 啤酒}
阅读全文