介绍

先验(Apriori)算法是挖掘关联式规则(Association Rules)的经典算法之一。
它的作用就是用来寻找数据当中的强关联式规则(Strong Association Rules)。

强关联式规则是满足最低支持度(minimum support)和最低置信度(minimum confidence)的规则。

规则:
X→Y;X和Y都属于I,且X和Y的交集为空。
支持度(support):
support(X → Y) = P(X U Y)
置信度(confidence):
confidence(X → Y) = P(Y | X)

算法

Step1:

遍历数据库,并且得出不同项(Item)的频数。
这个表被记为C1。

Step2:

假设这里的最低支持度为4(min_sup=4)。
表C1里的E就会被删除,得到表L1。

Step3:

利用L1,得出两个项在数据当中同时出现的频数(表C2)。

Step4:

频数低于4的项都会被删除。

Step5:

利用L2得出C3。

由于C3只有一个项集,而且频数还低于4,所以Apriori算法到此就会终止。
假如C3还有大于最低支持度的项集,那么Apriori算法会继续下去,得到L3,直到Cn不能再产生新的Ln为止。

Step6:

接下来就要从L2当中得到所有的规则。
A→C 和 C→D。
假如这里ACD大于4,可以得到三个不同的规则:
A→CD,C→AD和D→AC。

Step7:

计算不同规则的置信度(confidence)。
公式
Confidence (X → Y) = P(Y|X) = Support_Count (X U Y) / Support_Count (X)
Confidence (A → D) = P(D|A) = Support_Count (A U D) / Support_Count (A) = 2 / 4
Confidence (C → D) = P(D|C) = Support_Count (C U D) / Support_Count (C) = 4 / 6
当置信度大于最低置信度的时候,规则才可以被称为强关联规则(Strong association rules)。
假如这里min_conf=60%,那么C→D是强关联规则,而A→C不是。

总结

Apriori算法不适合被用在大型数据库当中,因为它会产生巨量的候选集(candidate sets),如C2,L2等。

由于学习这个课程的时候是全英文的,因此可能很多翻译不是很准确,请大家随意喷。

数据挖掘:Apriori(先验)算法相关推荐

  1. 推荐算法的先验算法的连接_数据挖掘专注于先验算法

    推荐算法的先验算法的连接 So here we are diving into the world of data mining this time, let's begin with a small ...

  2. 数据挖掘经典算法——先验算法

    算法描述 先验算法是实现频繁项挖掘的一种经典算法,利用关联式规则不断扩展频繁项子集以获得全部的频繁项集合.解释一下关联式规则,所谓关联式是指在大量的数据中找出的项与项之间的关系.例如消费者购买了产品A ...

  3. 数据挖掘Apriori算法

    数据挖掘Apriori算法 数据挖掘(Data Mining)就是从大量的.不完全的.有噪声的.模糊的.随机的实际应用数据中,提取隐含在其中的.人们事先不知道的.但又是潜在有用的信息和知识的过程.挖掘 ...

  4. 先验算法(Apriori Algorithm)原理及python代码实现

    先验算法(Apriori Algorithm)是关联规则学习的经典算法之一.先验算法的设计目的是为了处理包含交易信息内容的数据库(例如,顾客购买的商品清单,或者网页常访清单.)而其他的算法则是设计用来 ...

  5. 数据挖掘技术的算法与应用

    研究方向前沿读书报告 数据挖掘技术的算法与应用 目录 第一章 数据仓库... 5 1.1 概论... 5 1.2 数据仓库体系结构... 6 1.3 数据仓库规划.设计与开发... 7 1.3.1 确 ...

  6. 数据挖掘-理论与算法 公开课笔记

    数据挖掘-理论与算法 公开课笔记 制作:纪元 本提纲遵循CC-BY-NC-SA协议 (署名-非商业性-相同方式共享) 最近更新时间:2020年3月4日01:48:00 文章目录 10.2.1.1 Da ...

  7. 数据挖掘中聚类算法概述

    1 聚类方法概述 聚类方法是将物理或抽象对象的集合组成为由类似的对象组成的多个类的过程被成为聚类.由聚类所组成的簇是一组数据对象的集合,这些对象与同一簇中的对象彼此类似,与其他簇中的对象相异.在许多应 ...

  8. 数据挖掘10大算法详细介绍

    想初步了解下怎样数据挖掘,看到一篇不错的文章转载过来啦~ 转自:http://blog.jobbole.com/89037/ 在一份调查问卷中,三个独立专家小组投票选出的十大最有影响力的数据挖掘算法, ...

  9. apriori算法代码_sklearn(九)apriori 关联规则算法,以及FP-growth 算法

    是什么: apriori算法是第一个关联规则挖掘算法,利用逐层搜索的迭代方法找出数据库中的项集(项的集合)的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉没必要的中间结果)组成.是一种挖掘关 ...

最新文章

  1. 【Java从0到架构师】git 核心原理和分支管理
  2. Win7下Tomcat7和Apache2.2集成
  3. 大话存储系列21——存储系统内部IO 上
  4. 大数据时代的呼叫中心客服运营管理
  5. ExtJs教程 3.0
  6. 「 软件安装 」倍福“TwinCAT 与 WHD 软件安装”教程
  7. 掌握bandicam以及KMPlayer
  8. IIS-扩展接口ISAPI-Filter分析
  9. 齐市青云小学三年级学计算机吗,齐齐哈尔市青云小学介绍
  10. Ajax的常用技巧(4)---实现数据库分页
  11. PyTorch基础之激活函数模块中Sigmoid、Tanh、ReLU、LeakyReLU函数讲解(附源码)
  12. STM32应用实例十四:利用光敏二极管实现光度测量
  13. CAD—dxf dwg格式解析库
  14. VS Code注释快捷键
  15. 带你了解裸纤、专线、SDH、MSTP、MSTP+、OTN、PTN、IP-RAN的区别
  16. picsart旧版本_picsart2017旧版本
  17. 阿里云 mysql 太慢_MySQL很慢... 怎么破??-阿里云开发者社区
  18. 数据分析入门之Matplotlib数据可视化基础(散点图、折线图、直方图、饼图、箱线图)
  19. 杂记 什么是NFT?
  20. python series函数,【Python】【pandas-汇总2】series常用属性和函数

热门文章

  1. excel.h的简单使用
  2. vue中调用百度地图 获取经纬度
  3. 无所不能的Java系列文章
  4. BandZIP无广告版(v6.25)安装及禁止联网设置
  5. Java生成png文件字体不清晰_将Graphics2D写入BufferedImage - 字体分辨率较差
  6. TPA测试项目管理系统-测试用例管理
  7. 微信6.0 ActionBar样式
  8. 【C++ 科学计算】C++ 求解矩阵的转置、逆矩阵
  9. c语言sqlite3写数据类型,在sqlite数据库中,int类型不等于integer数据类型
  10. R 下载GEO数据总是超时