修改下列代码 #获取字段名称,并转化为列表 (计算置信度与支持度)c=list(Data.columns c9=0.5 #最小置信度 s9=0.2 #最小支持度 list1=[] #预定义定义列表list1,用于存放规则 list2=r] #预定义定义列表list2,用于存放规则的支持度 list3=[] #预定义定义列表list3,用于存放规则的置信度for k in range(len(c)): for q in range(len(c)): #对第c[k]个项与第c[q]个项挖掘关联规则 #规则的前件为c[k] #规则的后件为c[q] #要求前件和后件不相等 if c[k]!=c[q]: c1=Data[c[k]c2=Data[c[q]] I1=c1.values==1I2=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) #置信度#取置信度大于等于c0的关联规则if co>=c 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 #将结果导出到ExcelR.to excel('rule1.xlsx') #导入自行编写的apriori函数#结果文件outputfile = 'apriori rules,xls import apriori H+士
时间: 2023-12-06 07:42:34 浏览: 68
#获取字段名称,并转化为列表(计算置信度与支持度)
c = list(Data.columns)
c9 = 0.5 #最小置信度
s9 = 0.2 #最小支持度
list1 = [] #预定义列表list1,用于存放规则
list2 = [] #预定义列表list2,用于存放规则的支持度
list3 = [] #预定义列表list3,用于存放规则的置信度
for k in range(len(c)):
for q in range(len(c)):
#对第c[k]个项与第c[q]个项挖掘关联规则
#规则的前件为c[k]
#规则的后件为c[q]
#要求前件和后件不相等
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) #置信度
#取置信度大于等于c9的关联规则
if co >= c9 and sp >= s9:
list1.append(c[k]+'--'+c[q])
list2.append(sp)
list3.append(co)
#定义字典,用于存放关联规则及其置信度、支持度
R = {'rule':list1,'support':list2,'confidence':list3}
#将字典转化为数据框
R = pd.DataFrame(R)
#将结果导出到Excel
R.to_excel('rule1.xlsx')
#导入自行编写的apriori函数
#结果文件outputfile = 'apriori_rules.xls'
import apriori as ap
#调用apriori函数生成关联规则
ap.generateRules(R, minConf=0.5, outputfile='apriori_rules.xls')
阅读全文