什么是关联规则
关联规则是指事物间的相互联系,反映了一个事物与其他事物之间的相互依存性和关联性。如果两个或者多个事物之间存在一定的关联关系,那么其中一个事物就能够通过其他事物预测得到。
关联规则学习:(英语:Association rule learning)是一种在大型数据库中发现变量之间的有趣性关系的方法。它的目的是利用一些有趣性的量度来识别数据库中发现的强规则。
关联规则可以有如下几个分类:
按处理值分类,关联规则可以分为量化型和布尔型。布尔型关联规则是研究数据项在某个事务中是否会出现。量化型关联规则主要是离散型的数据,关联规则中的数据项是数量型的。在对量化进行关联规则进行挖掘时,通常使用统计学、离散方法等对量化数值进行离散化。分化成几个离散区间,从而转换成布尔型关联规则挖掘。
关联规则按所涉及的抽象层次可以分为单层和多层,比如每科成绩之间的关联挖掘就是单层的。而专业课、公共课等之间的关联挖掘,就是多层的。因为 他们是属于不同层级。
根据数据维数则可以分为,单维和多维,比如,购买网球,只涉及到一个维度。年龄购买网球,则涉及到年龄和网球两个维度。
所涉及的基本概念
(1)项
对一个数据表而言,表的每个字段都具有一个或多个不同的值。字段的每种取值都是一个项Item。
(2)项集
项的集合称为项集itemset。包含k个项的项集被称为k-项集,k表示项集中项的数目。由所有的项所构成的集合是最大的项集,一般用符号I表示。
(3)事务
事务是项的集合。本质上,一个事务就是事实表中的一条记录。事务是项集I的子集。事务的集合称为事务集。一般用符号D表示事务集/事务数据库。
(4)关联规则
给定一个事务集D,挖掘关联规则的问题就变成如何产生支持度和可信度分别大于用户给定的最小支持度和最小可信度的关联规则的问题。(标准)
(5)支持度(同时,交;元组总数)
若D中的事务包含A∪B的百分比为s,则称关联规则AB的支持度为s。即:support(AB )= P(A∪B ) = 包含A和B的元组数/元组总数
(6)可信度(同时,交;条件概率)
若D中包含A的事务同时也包含B的的百分比为c,则称关联规则 AB 的置信度/可信度为c,即:confidence(AB )=P(B|A) = 包含A和包含B的元组数/包含A的元组数 = support(A∪B )/support(A)
(7)频繁项集
项集的出现频率是包含项集的事务数,简称项集的频率;项集满足最小支持度阈值minsup,如果项集的出现频率大于或等于minsup与D中事务总数的乘积;满足最小支持阈值的项集就称为频繁项集(大项集)。频繁k项集的集合记为Lk;
(8)强关联规则
大于或等于最小支持度阈值和最小置信度阈值的规则叫做强关联规则
关联分析的最终目的,就是为了找出强关联规则
算法
那么,关联规则的本质,其实就是挖掘频繁项,那么算法的目的也就是尽可能快速有效的挖掘不同事物间 关系出现的频率。
而衡量规则是否成立的两个参考维度,就是支持度和置信度。
常用的算法有 Apriori 算法 ,FP-growth 算法。这两个算法,之前分别都有介绍。前者主要用迭代方法挖掘,不适用于多维挖掘。后者利用存储优化,大幅提高了挖掘性能。
领取专属 10元无门槛券
私享最新 技术干货