主要内容
关联规则分析概述
频繁项集、闭项集和关联规则
频繁项集挖掘方法
关联模式评估方法
Apriori算法应用
关联规则挖掘(上)
关联规则挖掘(下)
四、关联模式评估方法
大部分关联规则挖掘算法都使用支持度-置信度框架。尽管最小支持度和置信度阈值可以排除大量无趣规则的探查,但仍然会有一些用户不感兴趣的规则存在。当使用低支持度阈值挖掘或挖掘长模式时,这种情况尤为严重。
强关联规则不一定是有趣的
从关联分析到相关分析
由于支持度和置信度还不足以过滤掉无趣的关联规则,因此,可以使用相关性度量来扩展关联规则的支持度-置信度框架。相关规则框架为:
五、Apriori算法应用
在Pyhton中进行关联规则挖掘时需要用到apyori包,apyori包的安装方式为:
pip install apyori
首先导入相关包和数据
import pandas as pd
from apyori import apriori # pip install apriori
df = pd.read_excel("data.xls")
df.head()
获取项集
transactions = df.groupby(by = 'OrderID').apply(lambda x:list(x.CategoryName))
transactions.head(6)
# OrderID
# 10248 [Dairy Products, Grains/Cereals, Dairy Products]
# 10249 [Produce, Produce]
# 10250 [Seafood, Produce, Condiments]
# 10251 [Grains/Cereals, Grains/Cereals, Condiments]
# 10252 [Confections, Dairy Products, Dairy Products]
# 10253 [Dairy Products, Beverages, Confections]
# dtype: object
进行关联规则挖掘
min_supp = 0.1
min_conf = 0.1
min_lift = 0.1
result = list(apriori(transactions=transactions,min_support=min_supp,min_confidence=min_conf,min_lift=min_lift))
result
返回结果result中的属性说明:
(1)items – 项集,frozenset对象,可迭代取出子集;
(2)support – 支持度,float类型;
(3)confidence – 置信度或可信度,float类型;
(4)ordered_statistics – 存在的关联规则,可迭代,迭代后,其元素的属性:
· items_base – 关联规则中的分母项集;
· confidence – 上面的分母规则所对应的关联规则的可信度。
显示挖掘的关联规则
supports=[]
confidences=[]
lifts=[]
bases=[]
adds=[]
for r in result:
for x in r.ordered_statistics:
supports.append(r.support)
confidences.append(x.confidence)
lifts.append(x.lift)
bases.append(list(x.items_base))
adds.append(list(x.items_add))
resultshow = pd.DataFrame({'support':supports,
'confidence':confidences,
'lift':lifts,
'base':bases,
'add':adds})
resultshow.tail(8)