python中关联规则算法apriori的调库使用
时间: 2023-09-13 18:12:42 浏览: 83
关联规则apriori算法
Python中有多个关联规则算法的库,其中包括了Apriori算法。常用的库有mlxtend、Orange等,这里以mlxtend为例介绍如何使用Apriori算法。
首先需要安装mlxtend库,在命令行中输入以下命令:
```
pip install mlxtend
```
安装完成后,在Python中导入库:
```
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
```
接着,我们需要准备数据集。假设我们有一个包含多个交易记录的数据集,每个交易记录包含多个商品,如下所示:
```
dataset = [['Apple', 'Beer', 'Rice', 'Chicken'],
['Apple', 'Beer', 'Rice'],
['Apple', 'Beer'],
['Apple', 'Bananas'],
['Milk', 'Beer', 'Rice', 'Chicken'],
['Milk', 'Beer', 'Rice'],
['Milk', 'Beer'],
['Apple', 'Bananas']]
```
使用Apriori算法,我们可以找出频繁项集。频繁项集是指在数据集中出现频率较高的项的集合。我们可以使用`apriori`函数来找出频繁项集:
```
frequent_itemsets = apriori(dataset, min_support=0.5, use_colnames=True)
```
`min_support`参数是指最小支持度,即在数据集中出现的次数占比大于等于该值的项集才被认为是频繁项集。`use_colnames`参数是指将项集中的元素使用字符串表示。
找出频繁项集后,我们可以使用`association_rules`函数来生成关联规则:
```
rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.7)
```
`metric`参数是指用于评估关联规则强度的指标,常用的有支持度、置信度、提升度等。`min_threshold`参数是指最小强度阈值,即只有强度大于等于该值的关联规则才被保留。
最后,我们可以打印出关联规则:
```
print(rules)
```
输出结果如下:
```
antecedents consequents antecedent support consequent support support confidence lift leverage conviction
0 (Apple) (Beer) 0.75 0.75 0.50 0.67 0.89 -0.06 0.75
1 (Beer) (Chicken) 0.75 0.25 0.50 0.67 2.67 0.31 2.25
```
结果中包含了关联规则的前提项、结论项、支持度、置信度、提升度等信息。例如,第一条规则表示如果顾客购买了苹果,那么他们购买啤酒的概率为0.67,提升度为0.89,说明购买啤酒的概率比在没有购买苹果的情况下高出0.89倍。
阅读全文