[数据挖掘课程笔记]关联规则挖掘 - Apriori算法
两种度量:
支持度(support) support(A→B) = count(AUB)/N (N是数据库中记录的条数)
自信度(confidence)confidence(A→B) = count(AUB)/count(A)
关联规则挖掘的基本两个步骤:
1.找出所有的频繁项集
2.由频繁项集产生强关联规则
由于整个数据库十分庞大,所以对第一步来说,若使用穷举法,搜索空间将是2d,d是项的个数。所以优化算法主要需要优化第一步。而频繁项集里的项的数目远小于数据库数据的数目,所以,在第二步中,我们可以采用穷举法。
Apriori Algorithm
频繁:support(A,B)>=min_sp
几个原理:
1.如果X在数据集D中是闭的,那么不存在X的超集Y的支持度与X的支持度相同。
2.X是D中的极大频繁项集(闭的且频繁),那么不存在X的超集Y是频繁的。
3.如果X不是一个频繁项集,那么它的超项集Y也一定不是频繁的。
4.频繁项集的子集必是频繁的。
算法思想:通过频繁n项集生成候选n+1项集,然后再扫描数据库,选出频繁n+1项集,直到不能产生新的频繁项集。

在L2到C3的过程中,可以组成{A,B,C},{B,C,E},{A,C,E},由于{A,B,C}和{A,C,E}都包含不频繁子项集,所以可以直接删除,在扫描数据库过程中,只需要扫描{B,C,E}
DIC: Reduce Number of Scans
基本思想:把数据库分成若干块,每一块都有一个开始点(start point),在每一个开始点处都可以加入新的候选项集。

如上图所示,初始时,加入所有的一项集,然后扫描B1,得到一项集在B1中的支持度,选出频繁一项集组成的候选二项集,在B2的start point位置加入,然后扫描B2,给候选项集里的项集计数,然后再生成新的频繁项集,在B1的start point上加入。重复这个过程,直到没有新的频繁项集生成。

[数据挖掘课程笔记]关联规则挖掘 - Apriori算法的更多相关文章
- 数据挖掘进阶之关联规则挖掘FP-Growth算法
数据挖掘进阶之关联规则挖掘FP-Growth算法 绪 近期在写论文方面涉及到了数据挖掘,需要通过数据挖掘方法实现软件与用户间交互模式的获取.分析与分类研究.主要涉及到关联规则与序列模式挖掘两块.关联规 ...
- 推荐系统第4周--- 基于频繁模式的推荐系统和关联规则挖掘Apriori算法
数据挖掘:关联规则挖掘
- 关联规则挖掘--Apriori算法
- 数据挖掘系列 (1) 关联规则挖掘基本概念与 Aprior 算法
转自:http://www.cnblogs.com/fengfenggirl/p/associate_apriori.html 数据挖掘系列 (1) 关联规则挖掘基本概念与 Aprior 算法 我计划 ...
- 数据挖掘:关联规则的apriori算法在weka的源码分析
相对于机器学习,关联规则的apriori算法更偏向于数据挖掘. 1) 测试文档中调用weka的关联规则apriori算法,如下 try { File file = new File("F:\ ...
- 机器学习实战(Machine Learning in Action)学习笔记————07.使用Apriori算法进行关联分析
机器学习实战(Machine Learning in Action)学习笔记————07.使用Apriori算法进行关联分析 关键字:Apriori.关联规则挖掘.频繁项集作者:米仓山下时间:2018 ...
- 机器学习实战 - 读书笔记(11) - 使用Apriori算法进行关联分析
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第11章 - 使用Apriori算法进行关联分析. 基本概念 关联分析(associat ...
- 数据挖掘进阶之序列模式挖掘GSP算法
数据挖掘进阶之序列模式挖掘GSP算法 绪 继续数据挖掘方面算法的讲解,前面讲解了数据挖掘中关联规则算法FP-Growth的实现.此篇博文主要讲解基于有趣性度量标准的GSP序列模式挖掘算法.有关论文后期 ...
- 海量数据挖掘MMDS week2: 频繁项集挖掘 Apriori算法的改进:非hash方法
http://blog.csdn.net/pipisorry/article/details/48914067 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...
随机推荐
- hdu3572 任务分配/最大流判断满流
题意:将n个任务分配为m个机器,给每个任务需要的天数(无需每天连续),和可以在哪些天去做该任务,求是否存在方案. 典型的任务(X)----天(Y)二分最大流,(因为这里任务是与天的关系)处理器控制流量 ...
- LeetCode OJ--Minimum Path Sum **
https://oj.leetcode.com/problems/minimum-path-sum/ 对一个grid从左上角到右下角的路径,求出路径中和最小的. 受之前思路的影响,就寻思递归,并且记录 ...
- 语音按钮功能之UIButton的UIControlEventTouchUpInside没有执行问题
新版本im功能开发过程中,遇到个奇葩的问题. 就是点击语音按钮,点击一下松开,不执行UIControlEventTouchUpInside的方法.所以导致一直在录音 但是长按2秒以上,是可以执行UIC ...
- 焦作F Modular Production Line 费用流
题目链接 题解:这道题比赛的时候,学弟说是网络流,当时看N这么大,觉得网络流没法做,实际本题通过巧妙的建图,然后离散化. 先说下建图方式,首先每个覆盖区域,只有左右端点,如果我们只用左右端点的话,最多 ...
- python re的findall和finditer
记录一个现象: 今天在写程序的时候,发现finditer和findall返回的结果不同.一个为list,一个为iterator. 红色箭头的地方,用finditer写的时候,print(item.gr ...
- jenkins发布普通项目、配置自动上线自动部署
1.以root用户运行jenkins是不专业的 刚开始用jenkins时用jenkins这个普通用户运行程序,始终无法连接到gitlab,报错如下: 先是把修改jenkins上的git路径,将git修 ...
- Mybatis逆向生成使用扩展类
1.背景介绍 用的mybatis自动生成的插件,然而每次更改数据库的时候重新生成需要替换原有的mapper.xml文件,都要把之前业务相关的sql重新写一遍,感觉十分麻烦,就想着把自动生成的作为一个基 ...
- jsonp _____跨域请求实现
请求如下: $.ajax({ type: "GET", async:false, url: "http://127.0.0.1:8080/Cross-site-reque ...
- Tavas and Malekas
题面 题目描述 给你两个字符串a和b,告诉所有你b在a中一定匹配的位置,求有中不同的字符串a.a的长度为n,b的长度为m,一定匹配的位置有p个.若b在a中的一定匹配的位置为x,说明a[x-x+m-1] ...
- [__NSCFConstantString size]: unrecognized selector sent to instance 错误
因为使用时候的类型和初始化的对象类型不匹配造成的,例如 - (NSMutableDictionary *)getMenuItems{ NSArray *defaultTmp = [NSArray ...