所谓关联,反映的是一个事件和其他事件之间依赖或关联的知识。当我们查找英文文献的时候,可以发现有两个英文词都能形容关联的含义。第一个是相关性relevance,第二个是关联性association,两者都可以用来描述事件之间的关联程度。
设I={i1,i2…,im}为所有项目的集合,设A是一个由项目构成的集合,称为项集。事务T是一个项目
子集,每一个事务具有唯一的事务标识Tid。事务T包含项集A,当且仅当AT。如果项集A中包含k个项目,则称其为k项集。D为事务数据库,项集A在事务数据库D中出现的次数占D中总事务的百分比叫做项集的支持度(support)。如果项集的支持度超过用户给定的最小支持度阈值,就称该项集是
频繁项集(或大项集)。
支持度是指规则中所出现模式的频率,如果事务数据库有s%的事务包含XY,则称关联规则XY在D中的支持度为s%,实际上,可以表示为概率P(XY),即support(XY)= P(XY)。信任度是指蕴含的强度,即事务D中c%的包含X的交易同时包含XY。若X的支持度是support(x),规则的信任度为即为:support(XY)/support(X),这是一个
条件概率P(Y|X),即confidence(XY)= P(Y|X)。
关联算法是数据挖掘中的一类重要算法。1993年,R.Agrawal等人首次提出了挖掘顾客交易数据中项目集间的关联规则问题,其核心是基于两阶段频繁集思想的递推算法。该关联规则在分类上属于单维、单层及布尔关联规则,典型的算法是Apriori算法。
Apriori算法将发现关联规则的过程分为两个步骤:第一步通过迭代,检索出事务数据库1中的所有
频繁项集,即支持度不低于用户设定的阈值的项集;第二步利用频繁项集构造出满足用户最小信任度的规则。其中,挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。