生成的规则图如下所示:
支持度
Support(支持度):表示同时包含A和B的事务占所有事务的比例。如果用P(A)表示使用A事务的比例,那么Support=P(A&B)
苍天不负有心人啊,我玩了两三个周的文本关联规则挖掘,终于实现了,我心甚慰!!!甚慰
好啦,废话不多说,上干货
置信度
Confidence(可信度):表示使用包含A的事务中同时包含B事务的比例,即同时包含A和B的事务占包含A事务的比例
实现代码
import random
import numpy as np
class Association_rules:
def __init__(self,minSupport=0.2,minConfidence=0.5):
'''
minSuport:最小支持度
minConfidence:最小置信度
dataset:数据集
count:存放frequent itemsets 以及 support
associationRules:满足minConfidence的关联规则
num:元素数量
threshold = num*minSupport:由num和minSupport算出的阈值
'''
self.minSupport = minSupport
self.minConfidence = minConfidence
self.dataset = None
self.count = None
self.associationRules = None
self.num = 0
self.threshold = 0
#计算frequent itemset
def countItem(self,upDict,elength):
currentDict = {}
element = list(upDict.keys())
for i in range(len(element)-1):
for j in range(i+1,len(element)):
if elength-2 <1:
tmp=[]
tmp.append(element[i])
tmp.a