关联规则挖掘算法综述

关联规则挖掘是一种基于规则的机器学习算法,该算法可以在大数据库中发现感兴趣的关系。它的目的是利用一些度量指标来分辨数据库中存在的强规则,也即是说关联规则挖掘是用于知识发现,而非预测,所以是属于无监督的机器学习方法。

关联规则是形如X→Y的蕴涵式,表示通过X可以推导得到Y,其中X和Y分别称为关联规则的先导(antecedent或left-hand-side, LHS)和后继(consequent或right-hand-side, RHS)

关联规则挖掘发现大量数据中项集之间有趣的关联,诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,比如引入随机采样、并行的思想等,以提高算法挖掘规则的效率,对关联规则的应用进行推广。

关联规则种类

基于规则中处理的变量的类别

关联规则可以分为布尔型和数值型。布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系。数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割和数据处理,当然数值型关联规则中也可以包含种类变量。

基于规则中数据的抽象层次

可以分为单层关联规则和多层关联规则。在单层关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的。在多层关联规则中,对数据的多层性已经进行了充分的考虑。

基于规则中涉及到的数据的维数

关联规则可以分为单维的和多维的。在单维关联规则中,我们只涉及到数据的一个维,如用户购买的物品在多维关联规则中,要处理的数据将会涉及多个维。

经典的频集算法

关联规则其核心是基于两阶段频集思想的递推算法,该关联规则在分类上属于单维、单层、布尔关联规则。所有支持度大于最小支持度的项集称为频繁项集,简称频集。

算法的基本思想

首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样,然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。

改进的频集算法

算法方式包括散列、事务压缩、杂凑、划分、选样、动态项集计数、FP-树频集算法。

多层关联规则挖掘

对于很多的应用来说,由于数据分布的分散性,所以很难在数据最细节的层次上发现一些强关联规则。虽然较高层次上得出的规则可能是更普通的信息,但是对于一个用户来说是普通的信息,对于另一个用户却未必如此。所以数据挖掘应该提供这样一种在多个层次上进行挖掘的功能。

多层关联规则的分类

根据规则中涉及到的层次,多层关联规则可以分为同层关联规则和层间关联规则。

多维关联规则挖掘

对于多维数据库而言,除维内的关联规则外,还有一类多维的关联规则。在挖掘维间关联规则和混合维关联规则的时候,还要考虑不同的字段种类:种类型和数值型。对于种类型的字段,原先的算法都可以处理。而对于数值型的字段,需要进行一定的处理之后才可以进行。

未来前景

对于关联规则挖掘领域的发展,可以在如下一些方向上进行深入研究:

1、在处理极大量的数据时,如何提高算法效率。

2、对于挖掘迅速更新的数据的挖掘算法的进一步研究。

3、在挖掘的过程中,提供一种与用户进行交互的方法,将用户的领域知识结合在其中。

4、对于数值型字段在关联规则中的处理问题。

5、生成结果的可视化。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180804G17O6Y00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券