给定如下表所示的一个事务数据集,假定最小支持度为0.5,请给出Apriori算法生成频繁项集的过程。 {牛奶,面包} {面包,尿布,啤酒,鸡蛋} {牛奶,尿布,啤酒,可乐} {面包,牛奶,尿布,啤酒} {面包,牛奶,尿布,可乐}
时间: 2023-08-01 19:10:20 浏览: 134
apriori算法---用于产生频繁项集的算法
3星 · 编辑精心推荐
首先,我们需要计算每个项的支持度。一个项的支持度是指包含该项的事务数除以总事务数。在这个例子中,总事务数为5,因此,每个项的支持度如下所示:
- 牛奶:3/5
- 面包:4/5
- 尿布:3/5
- 啤酒:3/5
- 鸡蛋:1/5
- 可乐:2/5
由于最小支持度为0.5,因此只有支持度不小于0.5的项才可能成为频繁项。因此,我们可以发现只有牛奶、面包、尿布和啤酒是频繁项,而鸡蛋和可乐不是频繁项。
接下来,我们需要用频繁项来生成候选项集。对于第一层,我们可以将频繁项两两组合,生成如下的候选项集:
- {牛奶,面包}
- {牛奶,尿布}
- {牛奶,啤酒}
- {面包,尿布}
- {面包,啤酒}
- {尿布,啤酒}
对于第二层,我们需要从第一层生成的候选项集中选择那些在数据集中出现的项。在这个例子中,我们发现只有{牛奶,面包}、{牛奶,尿布}、{面包,尿布}和{面包,啤酒}出现在了数据集中。
接下来,我们需要计算每个项集的支持度,并从中选择频繁项集。对于{牛奶,面包},我们可以通过扫描数据集来计算出它的支持度为2/5,因此它是一个频繁项集。对于{牛奶,尿布},它的支持度为2/5,因此也是一个频繁项集。对于{面包,尿布},它的支持度为3/5,因此也是一个频繁项集。对于{面包,啤酒},它的支持度为2/5,因此不是一个频繁项集。
由于我们已经得到了所有的频繁项集,Apriori算法的流程到此结束。
阅读全文