def calcConf(freqSet, H, supportData, ruleList, minConf=0.7): for conseq in H: #遍历H中的所有项集并计算它们的可信度值 conf = supportData[freqSet] / supportData[freqSet - conseq] # 可信度计算,结合支持度数据 # 提升度lift计算lift = p(a & b) / p(a)*p(b) lift = supportData[freqSet] / (supportData[conseq] * supportData[freqSet - conseq]) if conf >= minConf and lift > 1: print(freqSet - conseq, '-->', conseq, '支持度', round(supportData[freqSet], 6), '置信度:', round(conf, 6), 'lift值为:', round(lift, 6)) ruleList.append((freqSet - conseq, conseq, conf)) # 生成规则标注解
时间: 2024-03-22 15:37:10 浏览: 102
这是一个用于计算关联规则可信度和提升度的函数。下面是每行代码的解释:
```python
def calcConf(freqSet, H, supportData, ruleList, minConf=0.7):
# 遍历 H 中的所有项集并计算它们的可信度值
for conseq in H:
# 可信度计算,结合支持度数据
conf = supportData[freqSet] / supportData[freqSet - conseq]
# 提升度 lift 计算,p(a & b) / p(a)*p(b)
lift = supportData[freqSet] / (supportData[conseq] * supportData[freqSet - conseq])
if conf >= minConf and lift > 1: # 如果可信度满足最小阈值,并且提升度大于 1
# 输出规则信息,并将规则添加到规则列表中
print(freqSet - conseq, '-->', conseq, '支持度', round(supportData[freqSet], 6), '置信度:', round(conf, 6), 'lift值为:', round(lift, 6))
ruleList.append((freqSet - conseq, conseq, conf)) # 生成规则
```
该函数的作用是计算从频繁项集 `freqSet` 中生成的所有关联规则的可信度和提升度,并将可信度满足最小阈值并且提升度大于 1 的规则添加到规则列表 `ruleList` 中。其中,`H` 是 `freqSet` 的所有非空子集,`supportData` 是包含所有项集支持度值的字典,`minConf` 是最小可信度阈值。在函数内部,通过计算项集 `freqSet` 与其子集 `conseq` 的支持度和可信度,以及项集之间的提升度,判断规则是否满足条件,并将符合条件的规则信息输出,并添加到规则列表中。
阅读全文