频繁项集挖掘里,FP-Growth可以说是性价比挺高的一个算法。它不靠一遍遍地扫数据,而是搭了个叫FP 树的结构,把重要信息一次性存起来,省时又省空间。
构建这棵树的时候也不复杂,先把项按频率排好,再按顺序塞进树里。最妙的是,每个频繁项都能拆出来建一棵小树,继续挖掘——这就叫条件 FP 树。嗯,递归,效率还真不错。
有意思的是,Christian Borgelt写了个C 语言实现,性能蛮不错,还整了个叫FP-Bonsai的剪枝方法,能自动把没用的项砍掉,进一步加速。
想拿它做点项目,比如超市购物,或者推荐系统啥的,用它来找出用户常买的商品组合,还蛮实用的。
如果你想上手,可以看看他和别人的对比实验,和Apriori、Eclat比下来,FP-Growth 在大数据量场景下优势挺的。
哦对了,这里有个 FP-Growth 的关联规则挖掘实现,适合直接跑跑试试。
如果你打算搞个前后端结合的可视化项目,比如用JSP+ECharts来展示挖掘结果,那也有现成的资源可以参考,这套结合 Python 爬虫的项目还不错。
,如果你懒得写 Apriori 那一大堆候选集判断的逻辑,不妨试试 FP-Growth,逻辑清晰、性能稳定,挺适合直接嵌进项目里跑。