自1993年Agrawal提出数据库中的关联规则挖掘后,关联规则挖掘算法及应用得到迅速发展。关联规则的功能不再局限于概念描述。1997年,Ali等人提出了使用分类关联规则进行部分分类的思想,但他们当时认为关联规则在分类预测问题上很难取得重大的进展。在1998年纽约举行的数据库知识发现国际会议上,新加坡国立大学的Liu等人提出了基于分类关联规则的关联分类算法CBA,从此揭开了关联分类的序幕。
与传统的决策树算法比较,关联分类具有分类预测准确度高的特点,因此关联分类在数据挖掘领域内引起广泛关注。目前,中国、美国和加拿大等国家都设立了国家自然科学基金进行这方面的研究。许多学者目前正在进行这方面的工作,且在分类算法上先后相继取得了一批研究成果,如CBA、CAEP、ADT、CMAR、CPAR和CAAR等。
2常用的关联规则分类方法
2.1基于关联规则的分类算法CBA
Liu于1998年提出。该算法使用类Apriori算法产生分类关联规则,使用的支持度阈值为1%,置信度阈值为50%,实验结果给出了分类误差值,并与决策树算法C4.5进行了比较。该研究存在的主要问题是采用类Apriori算法产生大量分类关联规则,消耗的系统资源多。为了防止过度使用系统资源,算法规定挖掘的规则数量不能超过80000个,当遇到高维数据库时,挖掘的频繁项集长
度迅速地减少,但分类模型的准确度显著地下降。
2.2显露模式分类法CAEP
显露模式分类法CAEP由Dong等人创立。显露模式是指从一个数据子集转变到另一个数据子集时,支持度发生显著变化的项集。最初的显露模式用于分析不同类型数据之间多个属性的对比或随时间改变的不同趋势之间多个属性的对比。显露模式分类利用支持度差异进行分类,没有充分的理论依据来确保分类准确度。他们将新算法与C4.5和CBA等算法进行了对比。给出了在15个数据上不完整的分类结果,未给出算法的平均分类准确度,实验结果也未能充分说明CAEP算法有何突出的优点,只能说明提供了一种新的关联分类方法。
2.3关联决策树ADT
2000年,Wang等人结合关联规则分类和决策树分类各自的长处,提出了关联决策树方法。ADT方法完全放弃支持度阈值,仅依
据置信度阈值从分类关联规则中选择分类规则,以此构建准确度驱动的决策树,采用自低向上的闭包运算生成可信的关联规则。该方法的缺点是对噪声特别敏感,在实际应用中,由于存在噪声,难以达到试验取得的准确度。同年,Li等人提出利用跳跃的显露模式用于分类,对显露模式分类提出了改进。
2.4基于多个分类关联规则的分类算法CMAR
2001年,J.Li等人给出了挖掘最小的分类关联规则集用于预测的形式化描述。他们提出在不损失预测能力的前提下挖掘最小
的分类关联规则集。然而,他们并没有给出实验数据比较最小规则集与完全分类关联规则集的预测能力。而且,他们未能与其它典型的关联分类算法进行对比,在这种情况下提出算法在不损失准确度的前提下产生最小分类关联规则集的论点缺乏足够的证据。W.Li等人提出了基于多个分类关联规则的分类算法CMAR,该算法使用改进的频繁模式增长法FP-growth来挖掘关联规则,使用基于权重的多个强关联规则来确定新实例的类标签,实验结果表明分类准确度优于CBA算法。然而,该算法存在两个问题:第一,基于FP-growth的关联规则挖掘尽管比Apriori快,但FP-growth不适合高维、大型的数据库。而且该算法的内存消耗过大,在大规模数据
则在分类预测中的权重选择标准很难确定。
2.5预测型关联规则的分类算法CPAR
Yin避开了使用资源消耗过大的关联规则算法,采用贪婪算法直接从训练数据集中挖掘关联规则,于2003年提出了一个称为预测型关联规则的分类算法CPAR规则的支持度阈值设置为5%。CPAR算法继承了一阶归纳学习算法FOIL的思想,采用基于信息熵的方法选择最优的5个规则用来分类一个实例。在预测时使用5个规则测试新实例的类标签,因此CPAR分类器的规则数很大。CPAR方法产生的规则数小于CMAR算法,在分类准确度上与CMAR算法相当。
Liu等人针对数据有噪声和类分布高度不均匀的情况提出了利用完全分类关联规则集给未知实例评分的方法来提高分类准确
度。在他们的方法中,因其首先挖掘所有分类关联规则,所以能给出所讨论问题的完整视图,利用完整的规则集能精确地估计新实例的类标签。然而,这种方法的实用性差,其缺点主要表现在两个方面:第一,分类过程需要利用所有分类关联规则,分类器的体积非常庞大;第二,这种方法只适合小规模数据挖掘,在大规模数据集上,利用低支持度阈值挖掘所有分类关联规则的计算开销大得惊人,特别是当数据集的属性个数多、属性值域规模较大时,需要对数据集进行许多次扫描。实际上,当数据集属性个数较大时,挖掘完全的分类关联规则集属于NP-难解问题。
2.6其他关联规则分类算法
2002年,Baralis[4]等人提出了一个懒的(Lazy)分类关联规则剪枝方法,该方法迭代地去除产生错误分类的所有规则,分类经过两遍进行,并在26个UCI数据集上进行了实验,结果表明该方法提高了分类精度。然而,该方法应用于大规模数据集时会面临执行性能问题,因为在大规模数据集上挖掘全部分类关联规则实际上是行不通的。
Li等人对关联分类的鲁棒性进行了研究,提出使用k个最优的规则集增强分类预测的可靠性,当测试数据遗失某个属性值时,其它k-1个规则能担任分类的任务。这个特性是关联分类相对于决策树而言具有的显著优点之一。但该算法的缺点是分类规则集庞大、模型的可理解性差。Li等人提出了挖掘最优的分类关联规则。最优的分类关联规则是指具有与完全分类关联规则集同样预测能力的最小规则集。通过使用最小规则集,而不是完全规则集可以减少挖掘分类关联规则的时间。他们使用了自底向上的闭包特性,对弱规则剪枝,避免挖掘弱规则。实验结果表明该算法挖掘的规则数是完全分类关联规则个数的1/17。实质上,与CBA相比,上述算法没有显示出多少优越性,原因是挖掘完全分类关联规则的算法在实际应用中几乎是行不通的,因为实际数据挖掘应用中的数据集很大,所以与挖掘完全的分类关联规则比较未能充分显示算法的优越性。
Davy等人在2003-2004年期间,研究了如何对CBA算法的改进,提出一个新的分类关联规则后件选择框架,并提出一个称为暗示强度的指标来评价分类关联规则质量,以提高分类预测准确度。然而,他们在比较该方法与CBA算法时,只在16个UCI数据集上进行了测试,而CBA算法发布时使用了26个标准数据集。
2004年,出现了基于正、负关联规则的关联分类。
可见,自1998年至今,关联分类的研究及应用从未间断。
3关联规则分类存在的问题
目前,一般关联分类算法存在以下问题:
1)资源消耗大
基于关联规则的分类方法是一种使用一组关联规则来分类事务的技术。关联规则挖掘属于求解集合子集问题,是典型的NP难问题。当数据集中实例个数较多时,项集之间的组合产生大量候选频繁项集,在数据集上测试候选频繁项集消耗大量系统资源。在挖掘大规模数据集时,CPU时间和内存消耗问题更加突出。
2)规则剪枝难
分类关联规则与其他一般关联规则挖掘算法一样,追求规则的有趣性、完整性和可理解性。为了防止遗漏潜在的、有价值的知识,常常在低支持度下挖掘规则,从而产生大量冗余规则。导致难以评价分类规则的质量,难以从大量关联规则中提取有效的分类规则。因此,有效的剪枝技术和约束条件成为分类关联规则研究的重点。
3)分类模型较复杂
一般关联分类算法产生庞大的分类器,不利于分类知识的理解,降低了数据挖掘的功能。如何减少分类规则的数目,提高单个规则的推广能力,增强规则的预测功能和可理解性,还有待解决。
4结语
与传统的分类方法比较,基于关联规则的分类技术在总体上具有分类准确度高,鲁棒性好的优点。作为一种新的分类方法,关联分类技术的研究朝着追求高的分类准确度、有效的剪枝、减少冗余规则、提高计算性能的方向发展,还存在许多需要改进的地方,需要我们坚持不懈地努力探索研究。