利用关联规则模型挖掘连锁餐厅交易记录python

本文介绍了如何使用Python进行关联规则模型的构建,旨在通过顾客消费交易记录来优化菜单、营销活动和门店话术。作者在实现过程中遇到将数据库数据转化为list的难点,并分享了初步测试中发现的菜品相关性,为决策提供了依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

该模型原理比较简单,网上有很多资料,但作为一个计算机外行,需要把这个模型用python建立起来,还是踩了不少坑。最大的一个坑是:数据库导出的数据以dataframe导入后分组转化为list;(因为数据库导出的数据是按单号和某个菜品,需要把菜品合并在一个list中)

目的

挖掘顾客消费交易记录,来对菜单、营销活动、门店话术等,进行规划;

代码

(由于没有编程基础,所以过多的使用了for语句,期望各位大佬帮忙优化一下;)

data=[[1,3,2,4,5,6],[2,4,6,3],[2,5,7,4],[5,7,4]]#这里我用我任意写的数据来做测试(最后数据库中导出的数据也会转化为这种模式)
I=[]#构建项目集
for i in data :
	for x in i:
		if x not in I :
			I.append(x)
print('项目集为:',I)
SUPmin=0.5 #设置最小支持度
CONFmin=0.5 #设置最小置信度
print('SUPmin:',SUPmin)
print('CONFmin:',CONFmin)
FQE=[]#建立候选频繁集
S=[]#建立候选频繁集对应的支持度
D=len(data)
print('交易笔数:',D)
for item in I :
	x=0
	for tid in data:
		if item in tid:
			x+=1
	if x/D>SUPmin:#supmin
		S.append(x/D)
		FQE.append(item)
print('频繁子项FQE:',FQE)
print('频繁子项支持度S:',S)
T2=[]#生成所有2项集
D2=[]#收集频繁2项集
SUP=[]
LENFQE=len(FQE)
for i in range(LENFQE):
	for y in range(i+1,LENFQE) :
			T2.append([FQE[i],FQE[y]])
print('所有二项子集T2:',T2)
print('-------求出&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值