关联规则分析

#关联规则
from apyori import apriori

store_data = pd.read_csv(r'D:/Download/apriori算法示例及数据/apriori算法示例及数据/store_data.csv', header=None).fillna('')
store_data.head()

#读取csv文件,将每一行按逗号分割存成一个List,然后整体存储成List,类似这种形式List[[],[],[]]
# records = []
# with open(r'D:/Download/apriori算法示例及数据/apriori算法示例及数据/store_data.csv', "r", newline='') as f:
#     import csv
#     reader = csv.reader(f)
#     for line in reader:
#         records.append(line)
 records1 = store_data.values.tolist()

#使用Apriori关联规则分析,设置最小支持度,置信度等
association_rules = apriori(records1, min_support=0.0045, min_confidence=0.2, min_lift=3, min_length=2)
#将结果转换成List
association_results = list(association_rules)
#打印首行,可以看看结果是怎样的
print(association_results[0])
# RelationRecord(items=frozenset({'light cream', 'chicken'}), support=0.004532728969470737, ordered_statistics[OrderedStatistic(items_base=frozenset({'light cream'}), items_add=frozenset({'chicken'}), confidence=0.29059829059829057, lift=4.84395061728395)])
#使用for循环,查看符合条件的关联规则,并打印出来
for item in association_results:

    # first index of the inner list
    # Contains base item and add item
    pair = item[0]
    items = [x for x in pair]
    print("Rule: " + items[0] + " -> " + items[1])

    #second index of the inner list
    print("Support: " + str(item[1]))

    #third index of the list located at 0th
    #of the third index of the inner list

    print("Confidence: " + str(item[2][0][2]))
    print("Lift: " + str(item[2][0][3]))
    print("=====================================")

 

ps: [ x for x in pair] 列表生成器,可以提取可迭代对象association_results[0]等号后面的内容

关联规则分析_第1张图片

参考文档 :https://www.cnblogs.com/listenfwind/p/10280392.html

你可能感兴趣的:(python)