运行结果(看着代码样例的数据集来放你的数据,然后直接运行即可):
代码附上,代码有注释哦!
# -*- coding: utf-8 -*-
# @Time : 2021/4/7 22:09
# @Author : 海龟
# @Site :
# @File : Aprior.py
# @Software: PyCharm
# 最小支持度
min_sup = 3
# 最小置信度
min_conf = 0.8
def apriori():
# 1.读入数据
data_set = load_data()
# 2.把单独数据拿出来存到集合里面,构建1阶频繁项集
C1 = create_C1(data_set)
# 3.计算每项的支持度和去掉支持数小于最小支持度数的集合
L1 = count_support(C1, data_set)
L1_copy = L1.copy()
# 4.连接
# 5.扫描前一个项集,排列组合
# 6.计数,剪枝
# 7.重复4-6,直到得到最终的 K 项频繁项集,因为是求2阶就可以,所以只再算一次
L = []
# 第一项的先加进去
L.append(L1_copy)
k = 2
# k=2开始,由频繁1项集生成频繁2项集,直到下一个打的项集为空
while (len(L[k-2])>0): # 当L