关联规则:物品与物品之间的关联关系;例如:一个人购买A,那么他购买B的概率多大
支持度:是指一件或多件物品出现的次数在总次数中所占的比例;
置信度:在一件事情发生的情况下另一件事情发生的概率;
提升度:(a->b)=置信度(a->b)/支持度(b)
python代码实现简单的关联规则:
from efficient_apriori import apriori
data = [
["牛奶","面包","尿布"],
["可乐","面包","尿布","啤酒"],
["牛奶", "尿布", "啤酒","鸡蛋"],
["牛奶", "面包", "尿布","啤酒"],
["牛奶", "面包", "尿布","可乐"],
]
def a1():
items,rules=apriori(transactions=data,min_support=0.5,min_confidence=1)
print("频繁项:",items)
print("关联规则:",rules)
if __name__ == '__main__':
a1()
运行结果
import csv
def a2():
#打开文件
f2=open("../data/4.2.csv","r",encoding="utf-8")
#读取文件内容
raw=csv.reader(f2)
data1=[]
#每一行
for m in raw:
data2=[]
#每一列
for col in m:
data2.append(col.strip())#strip:去空格
data1.append(data2[1:])
data=[i for i in data1 if i!=[]]
item,rules=apriori(transactions=data,min_support=0.3,min_confidence=1)
print("频繁项:", item)
print("关联规则:", rules)
if __name__ == '__main__':
a2()
运行结果:
最小置信度通过影响频繁项而影响关联规则,最小置信度直接影响关联规则
文章仅代表小编个人理解,如有错误还望斧正