您的位置:首页 > 其它

机器学习基础(三十二) —— 使用 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)是针对一条诸如
{尿布} ⇒ {葡萄酒}
关联规则来定义的,这条规则的可信度被定义为
支持度({尿布, 葡萄酒})/支持度({尿布})


Apriori 原理

Apriori 原理认为如果某个项集是频繁的,那么它的所有子集也是频繁的。

这个原理直观上并没有什么帮助,但是如果反过来看就有用了,也即是说,如果一个项集是非频繁集,那么它的所有超集也是非频繁的。

使用该原理就可以避免项集数目的指数增长,从而在合理时间内计算出频繁项集。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: