关联规则算法

Apriori算法-频繁项集-关联规则

廉价感情. 提交于 2020-03-24 09:42:27
计算频繁项集: 首先生成一个数据集 def loadDataSet(): return [[ 1 , 3 , 4 ], [ 2 , 3 , 5 ], [ 1 , 2 , 3 , 5 ], [ 2 , 5 ]] 测试数据集dataset有了,第一步,我们要根据数据集dataset得到一个集合C1,集合C1中包含的元素为dataset的无重复的每个单元素,候选项集。 def createC1(dataset): C1 = [] for transaction in dataset: for item in transaction: if not [item] in C1: C1.append([item]) C1.sort() return map(frozenset, C1) 返回的数据map计算得到一个元素为frozenset的集合。 为什么要转成frozenset? 原因两个: 1. 这个集合是从dataset中抽取出所有无重复的数据集,是固定的,应该是不可变的类型。 2. frozenset可以作字典 可以看一下返回结果: 第二步,计算C1<key>每个元素key的支持度。 支持度= count(key) / sizeof(C1) def scanD(D, Ck, minSupport): ssCnt = {} for tid in D: for can in Ck: if

Apriori算法(Python篇)

别等时光非礼了梦想. 提交于 2020-02-06 11:57:36
关联规则挖掘是数据挖掘中最活跃的研究方法之一, 最早是针对购物篮分析问题提出的,其目的是为了发现交易数据库中不同商品之间的联系规则,这些规则刻画了顾客购买行为模式,可以用来指导商家科学地安排进货,库存以及货架设计等。 而Apriori算法是第一个关联规则挖掘算法,也是最经典的算法。 以如下的场景为例,使用Python快速实现Apriori算法: 1.场景与需求 一家超市的业务数据库中有销售订单表如下: id为订单号,name为商品名称 来源: CSDN 作者: OMax 链接: https://blog.csdn.net/osvyxcbttw/article/details/104191941