关联规则算法致力于发现隐藏在海量数据中有趣联系,被广泛应用于金融、教育等商业领域。FP-Growth(Frequent Pattern Growth)作为一种经典的关联规则算法,可以高效自动地从数据中挖掘出频繁集合,进而挖掘出潜在的关联规则,这些在企业营销决策的制定过程中具有重要的参考价值。另外,FP-Growth采用高级的数据结构,使其在大数据集上处理效率显著优于其他算法(Apriori),从而加快整个数据挖掘的过程。
应用场景
关联规则的挖掘算法,它是从交易数据商机中被开发出来,用于制定营销策略,典型应用是零售业的购物篮分析,为了找到交易数据中的伴随购买以及购买推荐关系链。
通过发现在交易数据库中不同商品之间的关联规则,找出顾客购买行为,指导企业进行科学的商业活动,例如采取特殊的市场推广活动或手段(给买了啤酒和尿布的客户打折)、货架设计(啤酒和尿布放在相邻位置)等,从而增加两种关联商品的销售量。
关联规则可以用来发现很多有趣的规律。这其中需要先阐明以下术语:
序号 | 概念 | 说明 | 备注 | |
---|---|---|---|---|
1 | 支持度 Support | 支持度是指几个频繁关联的数据在数据集中出现的次数占总数据集的比重。 | 假设数据集有 10 条记录,包含{‘牛奶’, ‘面包’}的有 5 条记录,那么{‘牛奶’, ‘面包’}的支持度就是 5/10 = 0.5。 | |
2 | 频繁项集 | 是指频繁地并且同时出现在交易数据集中的商品的集合。 | ||
3 | 置信度 (可信度) Confidence | 置信度是指购买A之后又购买B的条件概率,A和B同时出现的概率占A出现概率的比值 | 假设今天共有10笔订单,其中购买A的次数是8,同时购买A和B的次数是6,则其置信度是6/8=75%。 从关联规则的可信程度角度来看,“购买A的顾客又会购买B”这个商业推测,有75%的可能性是成立的。 | |
4 | 关联规则 | 关联规则暗示两个物品之间可能存在很强的关系。形如A→B的表达式; 通俗来说,就是如果 A 发生了,那么 B 也很有可能会发生。 | 假设有关联规则如:{‘鸡蛋’, ‘面包’} -> {‘牛奶’},该规则的置信度是 0.9,意味着在所有买了鸡蛋和面包的客户中,有 90%的客户还买了牛奶。 | |
5 | 提升度 Lift | 提升度是指含有X的条件下同时含有Y的概率,与无论含不含X含有Y的概率之比。 | 它可以用来判断商品组合方式是否具有实际价值,当提升度大于1时,表明商品之间可能具有真正的关联关系,提升度越大,则商品之间的关联意义越大。 | |
6 | 最小支持度 | 最小支持度作为支持度的阈值,满足最小支持度的项集才会输出 | 最小置信度、最小支持度只是在训练模型时起到筛选频繁项集的作用。 | |
7 | 最小置信度 | 最小置信度作为置信度的阈值,满足最小置信度的项集才会输出 |
实践示例
使用“购物篮分析”案例数据,先根据训练集,训练出所有的频繁项,在对测试集进行频繁项预测,预测用户购买了物品1可能会购买物品2的可能性。
FP-Growth参数如下:
参数名称 | 值 | 说明 |
---|---|---|
最小支持度 | 参数范围:[0,1]的小数,默认值为0.01 | 支持度,代表项集的频繁程度;最小支持度作为支持度的阈值,满足最小支持度的项集才会输出; |
最小置信度 | 参数范围:[0,1]的小数,默认值为0.01 | 置信度,代表包含A事务中同时包含B事务的频繁程度;最小置信度作为置信度的阈值,满足最小置信度的项集才会输出; |
例如:有以下项集
项集{牛奶,尿布,啤酒}的
1、支持度,
2、置信度,