Apriori算法描述

Apriori算法描述

Apriori算法指导我们,如果要发现强关联规则,就必须先找到频繁集。所谓频繁集,即支持度大于最小支持度的项集。如何得到数据集合D中的所有频繁集呢?

有一个非常土的办法,就是对于数据集D,遍历它的每一条记录T,得到T的所有子集,然后计算每一个子集的支持度,最后的结果再与最小支持度比较。且不论这个数据集D中有多少条记录(十万?百万?),就说每一条记录T的子集个数({1,2,3}的子集有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},即如果记录T中含有n项,那么它的子集个数是2^n-1)。计算量非常巨大,自然是不可取的。

所以Aprior算法提出了一个逐层搜索的方法,如何逐层搜索呢?包含两个步骤:

1.自连接获取候选集。第一轮的候选集就是数据集D中的项,而其他轮次的候选集则是由前一轮次频繁集自连接得到(频繁集由候选集剪枝得到)。

2.对于候选集进行剪枝。如何剪枝呢?候选集的每一条记录T,如果它的支持度小于最小支持度,那么就会被剪掉;此外,如果一条记录T,它的子集有不是频繁集的,也会被剪掉。

算法的终止条件是,如果自连接得到的已经不再是频繁集,那么取最后一次得到的频繁集作为结果。

需要值得注意的是:

Apriori算法为了进一步缩小需要计算支持度的候选集大小,减小计算量,所以在取得候选集时就进行了它的子集是否有非频繁集的判断。(参见《数据挖掘:概念与技术》一书)。

另外,两个K项集进行连接的条件是,它们至少有K-1项相同。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 其实读完斯坦福的这本《互联网大规模数据挖掘》,让我感觉到,什么是人工智能?人工智能就是更高层次的数据挖掘。机...
    我偏笑_NSNirvana阅读 14,402评论 1 23
  • 基本概念 这周数据挖掘课上老师介绍了一种基础的数据挖掘算法——频繁项集挖掘算法。这种算法用一句话来总结就是要在数据...
    光的文明阅读 11,109评论 0 0
  • 这个题目取得比较奇怪,原因是:虽然号称数学是世界上最简洁的语言,但是太多的公式难免看的人心慌;其次公式在hexo+...
    Helen_Cat阅读 7,521评论 0 13
  • 一、背后的故事 沃尔玛为了能够准确了解顾客在其门店的购买习惯,对其顾客的购物行为进行购物篮分析,想知道顾客经常一起...
    萌新之机器学习阅读 7,934评论 1 3
  • 想要写出好文章,其实没有什么高深诀窍,要说有就是“写”,普通人完全可以通过自己的不断写作成为很好的作者。当然,即使...
    陌乐阅读 3,012评论 0 0

友情链接更多精彩内容