使用Apriori算法进行关联分析

关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:频繁项集或者关联规则。频繁项集是指经常出现在一块的物品的集合,关联规则暗示两种物品之间可能存在很强的关系。一个项集的支持度被定义为数据集中包含该项集的记录所占的比例。可信度或置信度是针对一条诸如{尿布}->{葡萄酒}的关联规则来定义的。这条规则的可信度被定义为"支持度({尿布->啤酒})/支持度({尿布})"

尽管大部分关联规则分析的实例来自零售业,但该技术同样可以用于其他行业,比如网站流量分析以及医药行业。

Apriori原理

--如果某个项集是频繁的,那么它的所有子集也是频繁的。反过来看,也就是说,如果一个项集是非频繁集,那么它的所有超集也是非频繁的。

Apriori算法

--Apriori算法的两个输入参数分别是最小支持度和数据集。该算法首先会生成所有单个项的项集列表。接着扫描交易记录来查看哪些项集满足最小支持度的要求,那些不满足最小支持度的项集会被去掉。然后,对剩下来的集合进行组合以生成包含两个元素的项集。接下来,再重新扫描交易记录,去掉不满足最小支持度的项集。该过程重复进行直到所有项集都被去掉。

伪代码如下:

当集合中项的个数大于0时

构建一个k个项组成的候选项集的列表

检查数据以确认每个项集都是频繁的

保留频繁项集并构建k+1项组成的候选项集的列表

从频繁项集中挖掘关联规则

关联规则的量化指标称为可信度。一条规则P -> H的可信度定义为support(P|H)/support(P)。

类似于频繁项集的产生,我们可以为每个频繁项集产生许多关联规则。如果能够减少规则数目来确保问题的可解性,那么计算起来就会好很多。可以观察到,如果每条规则并不满足最小可信度要求,那么该规则的所有子集也不会满足最小可信度要求。

时间: 2024-11-05 17:28:44

使用Apriori算法进行关联分析的相关文章

机器学习day16 机器学习实战Apriori算法进行关联分析

上一章学习了非监督学习的聚类,聚类算法可以将不同性质的分类分开.这两天学习了apriori算法进行关联分析,感觉是目前最难理解的一章了,并且书中还有个很坑爹的错误,作者存在很大的疏忽. Apriori算法关联分析:从大规模数据集中寻找物品间的隐含关系被称作关联分析或者关联规则学习. 关联分析应用1:我们以前学习的是根据特性进行分类或者回归预测,并没有挖掘特性之间的关系,关联分析可以用于分析数据集中特性之间的关系,可以得到哪些特性频繁的共同出现或者特性之间的关系(比如出现特性A就会很大几率出现特性

使用Apriori算法进行关联分析(python2)

summary: 关联分析是用于发现大数据集中元素间有趣关系的一个工具集,可以采用两种方式来量化这些有趣的关系.第一种方式是频繁项集,它会给出经常出现在一起的元素项:第二种方式是关联规则,每条关联规则意味着元素项之间“如果……那么”的关系. 发现元素项间不同的组合是个十分耗时的任务,不可避免需要大量昂贵的计算资源,这就需要更智能的方法在合理时间范围内找到频繁项集. 使用Apriori原理可以减少在数据库上进行检查的集合的数目.Apriori算法从单元素项集开始,通过组合满足最小支持度要求的项集来

第十一章:使用Apriori算法进行关联分析

使用Apriori算法和FP-growth算法进行关联分析

系列文章:<机器学习>学习笔记 最近看了<机器学习实战>中的第11章(使用Apriori算法进行关联分析)和第12章(使用FP-growth算法来高效发现频繁项集).正如章节标题所示,这两章讲了无监督机器学习方法中的关联分析问题.关联分析可以用于回答"哪些商品经常被同时购买?"之类的问题.书中举了一些关联分析的例子: 通过查看哪些商品经常在一起购买,可以帮助商店了解用户的购买行为.这种从数据海洋中抽取的知识可以用于商品定价.市场促销.存活管理等环节. 在美国国会

使用Apriori算法和FP-growth算法进行关联分析(Python版)

===================================================================== <机器学习实战>系列博客是博主阅读<机器学习实战>这本书的笔记也包含一些其他python实现的机器学习算法 算法实现均采用python github 源码同步:https://github.com/Thinkgamer/Machine-Learning-With-Python ==================================

数据挖掘算法:关联分析二(Apriori)

二.Apriori算法 上文说到,大多数关联规则挖掘算法通常采用的策略是分解为两步: 频繁项集产生,其目标是发现满足具有最小支持度阈值的所有项集,称为频繁项集(frequent itemset). 规则产生,其目标是从上一步得到的频繁项集中提取高置信度的规则,称为强规则(strong rule).通常频繁项集的产生所需的计算远大于规则产生的计算花销. 我们发现频繁项集的一个原始方法是确定格结构中每个候选项集的支持度.但是工作量比较大.另外有几种方法可以降低产生频繁项集的计算复杂度. 减少候选项集

Apriori算法的初步分析

一.简介 Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集.而且算法已经被广泛的应用到商业.网络安全等各个领域.例如著名的购物篮问题. 二.结合应用分析 1.购物篮问题:顾客在买了某种商品时也会买另一种商品.例如下面这些关联: TID Iterms 1 {Bread, Milk} 2 {Bread, Diapers, Beer, Eggs} 3 {Milk, Diapers, Beer, Cola} 4 {Bread, Mi

第十二章:使用FP-growth算法进行关联分析

Apriori算法思想和其python实现

第十一章 使用Apriori算法进行关联分析 一.导语 "啤酒和尿布"问题属于经典的关联分析.在零售业,医药业等我们经常需要是要关联分析.我们之所以要使用关联分析,其目的是为了从大量的数据中找到一些有趣的关系.这些有趣的关系将对我们的工作和生活提供指导作用. 二.关联分析的基本概念 所谓的关联分析就是从海量的数据中找到一些有趣的关系.关联分析它有两个目标,一个是发现频繁项集,另一个是发现关联规则. 关联分析常用到的四个概念是:频繁项集,关联规则,置信度,支持度.频繁项集指的是频繁同时出