1、关联规则算法
一、是数据中所蕴含的一类重要规律,对关联规则挖掘的目标是在数据项目中找出全部的并发关系,这种搞关系也称为关联。数据库
eg、奶酪->啤酒[支持度 = 10%,置信度 = 80%]并发
二、关联规则的基本概念spa
设一个项目集合I = {i1,i2,i3,……,im},一个(数据库)事务集合T = {t1,t2,t3,,,tn},其中每一个事务ti是一个项目集合,而且。blog
一个关联规则是以下形式的蕴涵关系:排序
三、关联规则强度指标:支持度和置信度事务
(1)支持度:规则X->Y的支持度是指,T中包含的事务的百分比。支持度是一个颇有用的评价指标,若是他的值过于的小,则代表时间可能只是偶然发生io
(2)置信度:决定了规则的可预测度,表示在全部发生了X的事务中一样发生了Y的几率。原理
2、Apriori算法搜索
一、Apriori原理:Apriori算法基于演绎Apriori原理(向下封闭属性)
向下封闭属性(Downward Closure Property):若是一个项目集知足某个最小支持的度要求,那么这个项集的任何非空子集必需都知足这个最小支持度。
为了确保频繁项目集成的高效性,Apriori算法假定I中的项目都是排序好的。
二、描述
就是对于数据集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,它的子集有不是频繁集的,也会被剪掉。
算法的终止条件是,若是自链接获得的已经再也不是频繁集,那么取最后一次获得的频繁集做为结果。