热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据分析关联规则apriori

目录关联规则衡量标准支持度置信度杠杆率(leverage)确信度(conviction)提升度实现美国沃尔玛超市对一年多的原始交易数据进行了详细的分析,

目录

关联规则

衡量标准

支持度

置信度

杠杆率(leverage)

确信度(conviction)

提升度

 实现



美国沃尔玛超市对一年多的原始交易数据进行了详细的分析,得到一个意外发现:与尿布一起被购买最多的商品竟然是啤酒。

--关联规则在客户关系管理系统中的经典案例


关联规则

形如"如果A那么B(If…Then…)",前者为条件,后者为结果。例如一个顾客,如果买了A,那么他也会购B。


衡量标准

如何来度量一个规则是否够好?主要有两个量,置信度(Confidence)和支持度(Support)。


支持度

对于关联规则R:X=>Y,其中X \subset I,Y \subset I,并且X \cap Y =\phi

 规则R的的支持度(Support)是交易集中同时包含X和Y的交易数与所有交易数之比。

关联规则的最小支持度也就是衡量频繁集的最小支持度(Minimum Support),记为supmin,它用于衡量规则需要满足的最低重要性。


置信度

表示了这条规则有多大程度上值得可信。

设条件的项的集合为A,结果的集合为B。置信度计算在A中,同时也含有B的概率(即:if A ,then B的概率)。即 Confidence(AàB)=P(B|A)

关联规则的最小置信度(Minimum Confidence)记为confmin,它表示关联规则需要满足的最低可靠性。

如果规则R:X=>Y满足support(X=>Y)>supminconfidence(X=>Y)>confmin,称关联规则X=>Y强关联规则,否则称关联规则X=>Y为弱关联规则

在挖掘关联规则时,产生的关联规则要经过supminconfmin的衡量,筛选出来的强关联规则才能用于指导商家的决策。


杠杆率(leverage)

P(A,B)−P(A)P(B)P(A,B)-P(A)P(B)P(A,B)−P(A)P(B),为0AB独立,越大AB的关系越密切。


确信度(conviction)

P(A)P(!B)/(P(A,!B)+1/K)P(A)P(!B)/(P(A,!B)+1/K)P(A)P(!B)/(P(A,!B)+1/K) ,(!B表示B没有发生,K表示总条目数量) 也是用来衡量AB的独立性。


提升度

引入提升度Lift,以度量此规则是否可用。它描述的是:相对于不用规则,使用规则可以提高多少。


 实现

#定义函数读取购物篮数据
def read_file_apriori(filename):k=[]with open(filename) as f:for i in f:k.append(i.split())return k
data=read_file_apriori("d:/datasets/basket.txt")from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
import pandas as pd
te = TransactionEncoder()
#编码
te_ary = te.fit(data).transform(data)
df = pd.DataFrame(te_ary, columns=te.columns_)
freq=apriori(df,min_support=0.05, use_colnames=True)
#导入关联规则包
from mlxtend.frequent_patterns import association_rules
#计算关联规则
result = association_rules(freq, metric="confidence", min_threshold=0.4)

 

 


推荐阅读
author-avatar
甜甜天蚕宝_431
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有