假设有以下《超市商品购买.txt》数据集,每行代表一个顾客在超市的购买记录:
I1: 西红柿、排骨、鸡蛋、毛巾、水果刀
I2: 西红柿、茄子、水果刀、香蕉
I3: 鸡蛋、袜子、毛巾、肥皂、水果刀
I4: 西红柿、排骨、茄子、毛巾、水果刀
I5: 西红柿、排骨、酸奶
I6: 鸡蛋、茄子、酸奶、肥皂、香蕉
I7: 排骨、鸡蛋、茄子、水果刀
I8: 土豆、鸡蛋、袜子、香蕉、水果刀
I9: 西红柿、排骨、鞋子、土豆、香蕉
建一个Python脚本,命名为“学号+姓名+test4.py”,完成以下任务:
1)将以上购买记录转换为布尔类型数据,其数据结构为DataFrame。(10分)
2)利用Apriori关联规则挖掘算法函数进行关联规则挖掘,最小支持度和最小置信度分别为0.2和0.4,并将挖掘结果导出到Excel表格中。(6分)
代码 :
- 代码:
import pandas as pd
import numpy as np
data=pd.read_table('超市商品购买.txt',engine='python',sep='、',encoding = 'gb2312',header=None)
tiem=['西红柿','茄子','水果刀','香蕉','袜子','毛巾','肥皂','排骨','酸奶','鸡蛋','鞋子','土豆']
D=dict()
for t in range(len(tiem)):
z=np.zeros((len(data)))
li=list()
for k in range(len(data.iloc[0,:])):
s=data.iloc[:,k]==tiem[t]
li.extend(list(s[s.values==True].index))
z[li]=1
D.setdefault(tiem[t],z)
Data=pd.DataFrame(D)
Data
布尔图:
文章来源地址https://www.toymoban.com/news/detail-483679.html
(2)代码:
c=list(Data.columns)
c0=0.4
s0=0.2
list1=[]
list2=[]
list3=[]
for k in range(len(c)):
for q in range(len(c)):
if c[k]!=c[q]:
c1=Data[c[k]]
c2=Data[c[q]]
I1=c1.values==1
I2=c2.values==1
t12=np.zeros((len(c1)))
t1=np.zeros((len(c1)))
t12[I1&I2]=1
t1[I1]=1
sp=sum(t12)/len(c1)
co=sum(t12)/sum(t1)
if co>=c0 and sp>=s0:
list1.append(c[k]+'--'+c[q])
list2.append(sp)
list3.append(co)
R={'rule':list1,'support':list2,'confidence':list3}
R=pd.DataFrame(R)
R.to_excel('导出数据.xlsx')
结果:
文章来源:https://www.toymoban.com/news/detail-483679.html
到了这里,关于Apriori关联规则挖掘算法函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!