1关联规则挖掘基础
在这一小节里,我们首先给出关联规则挖掘的一些基本概念和定义。这些概念和定义将会贯穿整个关联规则挖掘这一节。需要好好理解。接着我们给出关联规则的最基本也是最重要的算法APriori算法,其基本思想也是贯穿于整个章节。并且在接下来的针对海量数据的关联规则挖掘算法中都会看到算法影子,或在是该算法的改进,或者在算法中都会用到该算法的思想。
1.1基本概念
设是项的集合。设任务相关的数据D是数据库事务的集合,其中每个事务T是项的集合,使得
。每个事务有一个标识符,
称作TID。设A是一个项集,事务T包含A当且仅当AT。关联规则是形如
的蕴含式,其中
,
,并且
。规则
在事务集D中成立,具有支持度s,其中支持度s是D中事务包含
的百分比。它是概率
。规则
在事务集D中具有置信度c,如果D中包含A的事务同时也包含B的百分比是c,这是条件概率P(B|A)。即是
同时满足最小支持度阈值(min_sup)和最小置信度阈值(min_conf)的规则称作强规则。
项的集合称为项集(itemset)。包含k个项的项集称为k-项集。集合{computer,financial_management_software}是一个2-项集。项集的出现频率是包含项集的事务数,简称为项集的频率、支持计数或计数。项集满足最小支持度min_sup,如果项集的出现频率大于或等于min_sup与D中事务总数的乘积。如果项集满足最小支持度,则称它为频繁项集(frequent itemset)。频繁k-项集的集合通常记作。[参考自书《数据挖掘概念与技术》]
用在超市购买商品上,则项的集合I相当于商店的商品,事务D相当于每次购买行为的记录或叫购物篮记录集,而其中的每个事务T就相当于一次购买行为或一个购物篮记录。而一个项集就相当于几个商品的集合。事务T包含A即为购物篮中包含A所代表的几件商品。
关联规则挖掘算法的一般步骤是首先找出频繁项集,频繁项集是指支持度大于最小支持度minSup的项集(Itemset)。然后,由它们产生形如强关联规则,即,预定义在满足A的条件下满足B的概率。
关联规则用在购物事件上即挖掘顾客买商品A时同时会买B的可能有多大。
关联规则中最著名的算法当数Apriori算法。
图1、Apriori算法的内存的使用情况,左边为第一步时的内存情况,右图为第二步时内存的使用情况