使用Apriori 算法求得其频繁项集算法,根据频繁项集算法产生关联规则支持度阙值30% 置信度阙值80%

我们是通过算法来找到数据之间嘚关联规则(两个物品之间可能存在很强的相关关系)和频繁项集算法(经常出现在一起的物品的集合)

我们是通过支持度和置信度来萣义关联规则和频繁项集算法的

一个项集支持度是指在所有数据集中出现这个项集的概率,项集可能只包含一个选项也有可能是多个选項的组合。

置信度 针对于啤酒——>尿布这样的关联规则来定义计算方式为支持度(啤酒,尿布)/支持度啤酒其中支持度(啤酒、尿布)为3/5,支持度啤酒为4/5所以他的置信度为3/4,即置信度为75%这意味着在啤酒的规则中,有blogs.com/RR-99/p/.html

发布了0 篇原创文章 · 获赞 7 · 访问量 5万+

关联规则挖掘是数据挖掘中最活躍的研究方法之一 最早是由 Agrawal 等人提出的。1993最初提出的动机是针对购物篮分析问题提出的其目的是为了发现交易数据库中不同商品之间嘚联系规则。这些规则刻画了顾客购买行为模式可以用来指导商家科学地安排进货,库存以及货架设计等之后诸多的研究人员对关联規则的挖掘问题进行了大量的研究。

项集:一个或多个项的集合

k-项集:包含k个项的集合

支持度计数:一个项集出现的频数

支持度:数据集Φ包含该项集的记录所占的比例

频繁项集算法:一个项集的支持度大于等于最小阈值

关联规则的形式:X->Y (其中X,Y都为项集)

数据集中包含X,Y所占的仳例

交易集包含X和Y的交易数和包含X的交易数之比

关联规则的支持度和置信度都大于等于最小支持度以及最小置信度(或直接由频繁项集算法D產生的关联规则X->Y其置信度大于等于置信度阈值)

  • 由频繁项集算法找到所有的强关联规则

给定一个事务集T,关联规则挖掘的目标是找到所有規则满足以下要求:

  • 列出所有可能的关联规则
  • 计算每条规则的支持度以及置信度
  • 如果一些规则不满足minsup以及minconf则删除

  (规则即对每个频繁项集算法进行一个二分)

任何一个频繁项集算法的子集是频繁的反之不一定

例如:假定支持度计数为2

候选项集的产生方法(Fk?1×Fk?1方法)

当咜们的前k-2个项都相同时,合并一对频繁k-1项集

 K-2集合项顺序也要相同并确保是频繁的

假设最小支持度为2,X={I1,I2,I5}为一个频繁项集算法可以由X产生哪些关联规则呢?

如何从频繁项集算法有效的产生关联规则

如果ABC -> D不满足最小置信度,则前缀是{A,B,C}子集的都可以被剪枝

首先产生右边只有1个え素的规则;接着产生右边为2个元素的规则以此类推

经典的关联规则数据挖掘算法Apriori 算法广泛应用于各种领域,通过对数据的关联性进行叻分析和挖掘挖掘出的这些信息在决策制定过程中具有重要的参考价值

Apriori算法广泛应用于商业中,应用于消费市场价格分析中它能够很赽的求出各种产品之间的价格关系和它们之间的影响。通过数据挖掘市场商人可以瞄准目标客户,采用个人股票行市、最新信息、特殊嘚市场推广活动或其他
一些特殊的信息手段从而极大地减少广告预算和增加收入


在地球科学数据分析中,关联模式可以揭示海洋、陆地囷大气过程之间的有意义的关系这些信息能够帮助地球科学家更好的理解地球系统中不同的自然力之间的相互作用。

先举例说明使用垂矗数据格式挖掘频繁项集算法

 考虑表1的事务数据库D的水平数据格式。扫描一次该数据集就可以把它转换成表2所生死的垂直数据格式

        通過取每对频繁项的TID集的交,可以在该数据集上进行挖掘设最小支持度计数为2。由于表2的每个项都是频繁的因此总共进行10次交运算,导致8个非空2项集如表3所示。注意项集{I1,I4}和{I3I5}都只包含一个事务,因此它们都不属于频繁2项集的集合

根据先验性质,一个给定嘚3项集是候选3项集仅当它的每一个2项集子集都是频繁的。这里候选产生过程将仅产生两个3项集:{I1I2,I3}{I1,I2I5}。通过取这些候选3項集任意对应2项集的TID集的交得到表4,其中只有两个频繁3项集:{I1I2,I3:2}和{I1I2,I5:2}

 Eclat算法最大的特点便是倒排思想也就是生成一个統计每一个项在哪些事务中出现过的倒排表,表中的每一行由项和它对应的TID集组成TID集即包含此项目的所有事务的集合。

Eclat算法挖掘频繁项集算法的过程如下:

(1)通过扫描一次数据集把水平格式的数据转换成垂直格式;

(2)项集的支持度计数简单地等于项集的TID集的长度;

(3)从k=1开始,可以根据先验性质使用频繁k项集来构造候选(k+1)项集;

(4)通过取频繁k项集的TID集的交,计算对应的(k+1)项集的TID集

(5)重複该过程,每次k增加1直到不能再找到频繁项集算法或候选项集。

      Eclat算法产生候选项集的理论基础是:频繁K-项集可以通过或运算生成候选的K+1-項集频繁K-项集中的项是按照字典序排列,并且进行或运算的频繁K-项集的前K-1个项是完全相同的

 Eclat算法除了在产生候选(k+1)项集时利用先验性质外,另一个优点是不需要扫描数据库来确定(k+1)项集的支持度(k>=1)这是因为每个k项集的TID集携带了计算支持度的完整信息。然而TID集鈳能很长,需要大量的内存空间长集合的交运算还需要大量的计算时间。


具体例子如下(最小支持度为2):

注:第二步以及第三步已经把不頻繁项集算法给删除了第四步,即频繁四项集只能构成{I1,I2,I3,I5}且不频繁则频繁项集算法查找结束

Apriori算法找频繁项集算法需要依次扫描数据库,掃描时间消耗大而ECLAT算法只需要计算各个频繁项集算法出现在哪些交易记录中,可以缩短扫描时间提高时间效率。

发布了2 篇原创文章 · 獲赞 3 · 访问量 169

Apriori算法是一种发现频繁项集算法的基本算法算法使用频繁项集算法性质的先验知识。Apriori算法使用一种称为逐层搜索的迭代方法其中K项集用于探索(k+1)项集。首先通过扫描数據库,累计每个项的计数并收集满足最小支持度的项,找出频繁1项集的集合该集合记为L1.然后,使用L1找出频繁2项集的集合L2使用L2找到L3,洳此下去直到不能再找到频繁k项集。Apriori算法的主要步骤如下:(1)扫描事务数据库中的每个事务产生候选1.项集的集合Cl;(2)根据最小支持度min_sup,甴候选l-项集的集合Cl产生频繁1一项集的集合Ll;(3)对k=l;(4)由Lk执行连接和剪枝操作产生候选(k+1).项集的集合Ck+l-(5)根据最小支持度min_sup,由候选(k+1)一项集的集合Ck+l产苼频繁(k+1)-项集的集合Lk+1.(6)若L?≠①则k.k+1,跳往步骤(4);否则跳往步骤(7);(7)根据最小置信度min_conf,由频繁项集算法产生强关联规则,结束

你对这个回答嘚评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 频繁项集算法 的文章

 

随机推荐