频繁模式挖掘

挖掘 频繁项集频繁序列 是频繁模式挖掘的两个经典任务。它俩的区别是:前者是顺序无关的,而后者关注顺序。对于这两种任务,Spark 已经有非常成熟的解决方案了,在当前主流公司的数据量级下是够用的。

GitHub 项目地址:frequent-pattern-mining

频繁项集 经常被念叨的一个用途,是挖掘经常被一起购买的商品(比如奶粉和尿布)。如果知道哪些商品经常被一起购买,就可以将这些商品打包出售。或者放在超市里相隔较远的两个地方,引导用户多逛。

频繁序列 也很有用。用户的连续行为可以看作一个序列。通过分析用户的频繁序列,产品经理可以发现用户习惯,进而优化功能排布和页面顺序,达到提升链路转化效率的效果。

✨ 注意:运行以下代码依赖 utils.py 文件。

一、频繁项集算法:FPGrowth

  1. 数据预处理
  2. 频繁项挖掘
    • 频繁项集
    • 关联规则


二、频繁序列算法:PrefixSpan

  1. 一个简单的例子
  2. 子序列挖掘
    • 商品编码
    • 生成商品序列
    • 计算频繁子序列
    • 通过子序列回溯原始数据


参考: