机器学习基础(三十二) —— 使用 Apriori 算法进行关联分析
2016-03-29 15:14
549 查看
Apriori 在拉丁语中指“来自以前”。当定义问题时,通常会使用先验知识或者假设,这被称作“一个先验”(a priori)。在贝叶斯统计中,使用先验知识作为条件进行推断也很常见。先验知识可能来自领域知识、先前的一些测量结果。
从大规模数据集中寻找物品间的隐含关系被称作关联分析(association analysis)或者关联规则学习(assocation rule learning)。
关联分析的目标包括:发现频繁项集和发现关联规则。
主要涉及的问题在于,寻找物品间的不同组合(combination)是一项十分耗时的任务,所需的计算代价很高,蛮力搜素方法并不能解决这个问题,所以需要更智能的方法在合理的时间范围内找到频繁项集(frequent item sets)。本文将介绍如何使用 Apriori 算法来解决上述问题。
频繁项集(frequent item sets)是经常出现在一块的物品的集合,
关联规则(assocation rules)暗示两种物品之间可能存在很强的关系。
当寻找频繁项集时,频繁(frequent)的定义是什么?有很多概念可以回答该问题,不过其中最为重要的是支持度和可信度。
一个项集的支持度(support)被定义为数据集中包含该项集的记录所占的比例。支持度是针对项集来说的,因此可以定义一个最小支持度,而只保留满足最小支持度的项集。
可信度或置信度(Confidence)是针对一条诸如
这个原理直观上并没有什么帮助,但是如果反过来看就有用了,也即是说,如果一个项集是非频繁集,那么它的所有超集也是非频繁的。
使用该原理就可以避免项集数目的指数增长,从而在合理时间内计算出频繁项集。
从大规模数据集中寻找物品间的隐含关系被称作关联分析(association analysis)或者关联规则学习(assocation rule learning)。
关联分析的目标包括:发现频繁项集和发现关联规则。
主要涉及的问题在于,寻找物品间的不同组合(combination)是一项十分耗时的任务,所需的计算代价很高,蛮力搜素方法并不能解决这个问题,所以需要更智能的方法在合理的时间范围内找到频繁项集(frequent item sets)。本文将介绍如何使用 Apriori 算法来解决上述问题。
频繁项集(frequent item sets)是经常出现在一块的物品的集合,
关联规则(assocation rules)暗示两种物品之间可能存在很强的关系。
当寻找频繁项集时,频繁(frequent)的定义是什么?有很多概念可以回答该问题,不过其中最为重要的是支持度和可信度。
一个项集的支持度(support)被定义为数据集中包含该项集的记录所占的比例。支持度是针对项集来说的,因此可以定义一个最小支持度,而只保留满足最小支持度的项集。
可信度或置信度(Confidence)是针对一条诸如
{尿布} ⇒ {葡萄酒}关联规则来定义的,这条规则的可信度被定义为
支持度({尿布, 葡萄酒})/支持度({尿布})。
Apriori 原理
Apriori 原理认为如果某个项集是频繁的,那么它的所有子集也是频繁的。这个原理直观上并没有什么帮助,但是如果反过来看就有用了,也即是说,如果一个项集是非频繁集,那么它的所有超集也是非频繁的。
使用该原理就可以避免项集数目的指数增长,从而在合理时间内计算出频繁项集。
相关文章推荐
- C/C++中volatile关键字详解
- 欢迎使用CSDN-markdown编辑器
- CentOS修复grub
- 面向报文(UDP)和面向字节流(TCP)的区别之二
- 操作系统简单理解
- 西普实验吧CTF-分数拆分
- IDEA javadoc 编码GBK的不可映射字符
- hue迁移数据库到mysql
- SEO之如何为网站选择关键词
- activity启动动画overridePendingTransition()使用
- PullToRrefresh自定义下拉刷新动画
- view和view controller的生命周期
- 堆排序
- Apache2.4虚拟主机和多站点配置
- 关于友盟分享的总结
- Install VirtualBox/VMWare on Windows 10
- 堆排序
- CSS、JS 放置位置与前端性能的关系?
- 最近很火的 将军与妓的故事。
- Activity总结