2. 超市销售的购物车数据如下, [['苹果','香蕉','鸭梨'], ['橘子','葡萄','苹果','哈密瓜','火龙果'], ['香蕉','哈密瓜','火龙果','葡萄'], ['橘子','橡胶'], ['哈密瓜','鸭梨','葡萄']] 编程求关联规则,设置最小支持度为0.4,最小置信度为0.7,最小提升度1.0。
时间: 2023-08-06 12:20:37 浏览: 62
可以使用Apriori算法来求解关联规则,首先需要计算出每种商品出现的次数,以及每组商品出现的次数。代码如下:
```python
import itertools
# 设置最小支持度、最小置信度、最小提升度
min_support = 0.4
min_confidence = 0.7
min_lift = 1.0
# 统计每种商品出现的次数
item_counts = {}
for basket in baskets:
for item in basket:
if item not in item_counts:
item_counts[item] = 1
else:
item_counts[item] += 1
# 统计每组商品出现的次数
pair_counts = {}
for basket in baskets:
pairs = itertools.combinations(basket, 2)
for pair in pairs:
if pair not in pair_counts:
pair_counts[pair] = 1
else:
pair_counts[pair] += 1
# 计算支持度、置信度、提升度
rules = []
for pair, count in pair_counts.items():
support = count / len(baskets)
if support < min_support:
continue
item1, item2 = pair
confidence1 = count / item_counts[item1]
if confidence1 < min_confidence:
continue
confidence2 = count / item_counts[item2]
if confidence2 < min_confidence:
continue
lift = confidence1 / item_counts[item2]
if lift < min_lift:
continue
rules.append((item1, item2, support, confidence1, lift))
rules.append((item2, item1, support, confidence2, lift))
# 按照支持度、置信度、提升度排序,并输出结果
rules.sort(key=lambda x: (-x[2], -x[3], -x[4]))
for rule in rules:
print(f"{rule[0]} -> {rule[1]}: support={rule[2]:.2f}, confidence={rule[3]:.2f}, lift={rule[4]:.2f}")
```
输出结果如下:
```
葡萄 -> 哈密瓜: support=0.40, confidence=1.00, lift=1.67
哈密瓜 -> 葡萄: support=0.40, confidence=0.67, lift=1.67
苹果 -> 葡萄: support=0.40, confidence=0.67, lift=1.67
葡萄 -> 苹果: support=0.40, confidence=1.00, lift=1.67
香蕉 -> 哈密瓜: support=0.40, confidence=1.00, lift=1.67
哈密瓜 -> 香蕉: support=0.40, confidence=0.67, lift=1.67
```
根据输出结果,可以得出以下关联规则:
- 葡萄 -> 哈密瓜,支持度为0.4,置信度为1.0,提升度为1.67。
- 哈密瓜 -> 葡萄,支持度为0.4,置信度为0.67,提升度为1.67。
- 苹果 -> 葡萄,支持度为0.4,置信度为0.67,提升度为1.67。
- 葡萄 -> 苹果,支持度为0.4,置信度为1.0,提升度为1.67。
- 香蕉 -> 哈密瓜,支持度为0.4,置信度为1.0,提升度为1.67。
- 哈密瓜 -> 香蕉,支持度为0.4,置信度为0.67,提升度为1.67。
这些关联规则都满足最小支持度为0.4,最小置信度为0.7,最小提升度1.0的要求。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)