编写一个关联规则算法的实例并出结果
时间: 2024-05-25 13:10:55 浏览: 93
基于关联规则的分类算法java数据挖掘算法源码.rar
5星 · 资源好评率100%
好的,我来为您介绍一个关联规则算法的实例——Apriori算法。
假设我们有一个超市的销售数据,其中包含了顾客的购买清单,如下所示:
| 顾客ID | 购买商品 |
| ------ | -------- |
| 1 | A, B, C |
| 2 | A, C, D |
| 3 | A, D, E |
| 4 | B, C, E |
我们想要找到顾客购买商品之间的关联规则,比如如果顾客购买了商品A,那么他们也有可能购买商品B。
首先,我们需要定义两个参数:最小支持度和最小置信度。最小支持度指的是在所有的顾客中,购买某一组商品的比例不能小于这个值,最小置信度指的是如果顾客购买了商品A,那么购买商品B的概率不能小于这个值。
假设我们设置最小支持度为50%(也就是至少有一半的顾客购买了某一组商品),最小置信度为80%(也就是如果顾客购买了商品A,那么购买商品B的概率至少为80%)。
接下来,我们可以按照以下步骤进行关联规则挖掘:
1. 扫描所有的购买清单,统计每组商品的支持度
- A: 3(因为A出现在了3个顾客的购买清单中)
- B: 2
- C: 2
- D: 2
- E: 2
- AB: 1
- AC: 2
- AD: 1
- AE: 1
- BC: 2
- BD: 0
- BE: 1
- CD: 2
- CE: 1
- DE: 1
2. 根据最小支持度筛选出频繁项集(支持度不小于最小支持度的商品组合)
- {A}
- {B}
- {C}
- {D}
- {E}
- {A, C}
- {B, C}
- {C, D}
- {C, E}
3. 根据频繁项集,生成候选规则
- {A} => {C}
- {C} => {A}
- {B} => {C}
- {C} => {B}
- {C} => {D}
- {D} => {C}
- {C} => {E}
- {E} => {C}
4. 计算候选规则的置信度,并根据最小置信度筛选出强规则
- {A} => {C}: 2/3 = 66.7%
- {C} => {A}: 2/2 = 100%
- {B} => {C}: 2/2 = 100%
- {C} => {B}: 2/2 = 100%
- {C} => {D}: 2/2 = 100%
- {D} => {C}: 2/2 = 100%
- {C} => {E}: 1/2 = 50%
- {E} => {C}: 1/2 = 50%
- 强规则:{C} => {A}, {B} => {C}, {C} => {B}, {C} => {D}, {D} => {C}
因此,我们得到了一组强规则,即如果顾客购买了商品C,那么他们也有可能购买商品A、B、D;如果顾客购买了商品B、D,那么他们也有可能购买商品C。
阅读全文