再次扫描 D 的候选项计数代码逻辑,挺适合用来Apriori 算法里怎么从候选集算出频繁项集的 L2 那一步。每个项集支持度都有标注,像{I1, I2} 4
这种,看起来清楚,方便调试。你要是正好在啃数据挖掘那几章,这段代码拿去直接改都不费事,格式也挺干净的。
格式上偏向事务型数据库的方式,逻辑上走的是频繁项集挖掘里的典型路径——先生成候选,再数支持度,输出 L2。你也可以结合一下垂直数据格式的思路做对比,比如看看这篇讲垂直格式的文章,也挺有意思的。
代码就一看就懂的风格,比较适合初学者上手。不需要太多铺垫,直接看支持度计数逻辑就行。如果你想扩展到 L3,拿这份改一下就行了,逻辑是一脉相承的。
你要是对挖掘频繁项集感兴趣,顺带也可以看看基于 FP-Tree 的改进算法,还有候选项集连接问题这类内容,结合来看,思路更清晰。
如果你正在准备数据挖掘相关的 PPT,或者写作业、研究频繁项集生成,像{I2, I4}
、{I2, I5}
这种格式的计数清单真的挺省事的,用来当作案例也完全没问题。