关联规则

“关联规则”(Association Rules)是数据挖掘的主要技术之一,用于从庞大的数据库中寻找有用或有趣的模式和规则。关联规则最初产生于购物篮分析,它通过发现顾客放入其购物篮中不同商品之间的联系,分析顾客购买行为中隐含的有趣模式,从而指导销售商制订营销策略。单维关联规则特指只涉及单个属性项的关联规则。

设 I = { i1 , i2 ,…, im }是项的集合。设任务相关的数据D 是数据库事务的集合,其中每个事务T是项的集合,使得T ⊆ I。每一个事务有一个标识符,称作TID。设A 是一个项集,事务T 包含A当且仅当A ⊆ T。关联规则是形如A ⇒ B 的蕴涵式,其中A ⊂ I,B ⊂ I,并且A ∩ B =∅。规则A ⇒B 在事务集D 中成立,具有支持度s,其中s 是D 中事务包含A ∪ B(即A 和B 二者)的百分比。它是概率P(A ∪ B)。规则A ⇒ B 在事务集D 中具有置信度c,如果D 中包含A 的事务同时也包含B的百分比是c。这是条件概率P(B |A)。即 support (A ⇒ B ) = P(A ∪ B) confidence (A ⇒ B ) = P(B |A)

同时满足最小支持度阈值(min_sup)和最小置信度阈值(min_conf)的规则称作强规则。为方便计,我们用0%和100%之间的值,而不是用0 到1 之间的值表示支持度和置信度。项的集合称为项集。包含k 个项的项集称为k-项集。集合{computer, financial_management_software}是一个2-项集。项集的出现频率是包含项集的事务数,简称为项集的频率、支持计数或计数。项集满足最小支持度min_sup,如果项集的出现频率大于或等于min_sup 与D 中事务总数的乘积。如果项集满足最小支持度,则称它为频繁项集。频繁k -项集的集合通常记作Lk。关联规则的挖掘是一个两步的过程:

  1. 找出所有频繁项集:根据定义,这些项集出现的频繁性至少和预定义的最小支持计数一样。

  2. 由频繁项集产生强关联规则:根据定义,这些规则必须满足最小支持度和最小置信度。

如果愿意,也可以使用附加的兴趣度度量。这两步中,第二步最容易。挖掘关联规则的总体性能由第一步决定。

算法背景

关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。随着大量数据不停地收集和存储,许多业界人士对于从他们的数据库中挖掘关联规则越来越感兴趣。从大量商务事务记录中发现有趣的关联关系,可以帮助许多商务决策的制定,如分类设计、交叉购物和贱卖分析。关联规则挖掘的一个典型例子是购物篮分析。该过程通过发现顾客放入其购物篮中不同商品之间联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略。例如,在同一次去超级市场,如果顾客购买牛奶,他也购买面包(和什么类型的面包)的可能性有多大?通过帮助零售商有选择地经销和安排货架,这种信息可以引导销售。例如,将牛奶和面包尽可能放近一些,可以进一步刺激一次去商店同时购买这些商品。

应用领域

关联分类算法是继贝叶斯( Bayes) 、支持向量机( SVM) 等机器学习方法之后的又一重要分类技术,广泛应用于文本分类、Web文档分类、医学图像分类。经典的关联分类算法有CBA、CMAR、CPAR;

网络入侵检测技术作为防火墙技术强有力的助手,有效弥补了防火墙策略处理黑客攻击、信息窃取问题时出现的不足,成为网络安全监控系统可靠的保障。传统的入侵检测系统(IDS) 运用关联规则生成入侵检测标准规则库,通过判断网络数据与规则库的匹配度产生告警数据流。

隐私保护数据挖掘是指在数据挖掘的过程中通过采用数据干扰和查询限制的基本策略对原始数据进行保护,避免商业敏感数据、个人隐私数据泄露。

利用关联规则进行蛋白质结构预测,根据蛋白质序列的特点可以对这些序列数据进行量化和处理,再将关联规则算法用于序列数据集上寻找蛋白质序列中的关联关系。

随着遥感导航定位、地球物理等卫星数量的增加,空间地球大数据为地球科学研究带来新机遇。传统数据分析方法以统计分析、非线性拟合为主,其在处理多维、海量数据时存在明显不足。基于关联规则的挖掘模式可以揭示海洋、陆地、大气等地球数据之间的关系,从而推动全球变化、灾害科学领域的发展。

优缺点

优点:

  1. 可以产生清晰有用的结果;

  2. 支持间接数据挖掘;

  3. 可以处理变长的数据;

  4. 它的计算的消耗量是可以预见的。

缺点:

  1. 当问题变大时,计算量增长得厉害;

  2. 难以决定正确的数据;

  3. 容易忽略稀有的数据。

原文:https://github.com/KeKe-Li/tutorial