挖掘频繁模式、关联和相关性:基本概念和方法
频繁模式(frequent pattern)是频繁地出现在数据集中的模式(如项集、子序列或子结构)。
例如,频繁地同时出现在交易数据集中的商品(如牛奶和面包)的集合是频繁项集。
一个子序列,如首先购买PC,然后是数码相机,再后是内存卡,如果它频繁地出现在购物历史数据库中,则称它为一个(频繁地)序列模式。
一个子结构可能涉及不同的结构形式,如子图、子树或子格,它可能与项集或子序列结合在一起。如果一个子结构频繁地出现,则称它为(频繁的)结构模式。
对于挖掘数据之间的关联、相关性和许多其他有趣的联系,发现这种频繁模式起着至关重要的作用。此外,它对数据分类、聚类和其他数据挖掘任务也有帮助。
频繁模式挖掘搜索给定数据集中反复出现的联系。
频繁项集挖掘的一个典型例子是购物篮分析。该过程通过发现顾客购买过商品之间的联系,分析顾客的购物习惯。这种关联可以帮助零售商了解哪些商品频繁地被顾客同时购买,从而帮助他们制定更好的营销策略。
分析结果可以帮助设计不同的商店布局。
一种策略是:经常同时购买的商品可以摆放近一些,以便进一步刺激这些商品同时销售。
另一种策略:把同时购买的商品摆放在商店两端,可能诱发买这些商品的顾客一路挑选其他商品。
购物篮分析也可以帮助零售商规划什么商品降价出售。如果顾客趋向于同时购买计算机和打印机,则打印机的降价出售可能既促使购买打印机,又促使购买计算机。
每种商品有一个布尔变量,表示该商品是否出现。每个购物篮可以使用一个布尔向量表示。可以分析布尔向量,得到反映商品频繁关联或同事购买的购买模式。这些模式可以用关联规则(association rule)的形式表示。
购买计算机也趋向于购买杀毒软件,可以使用以下关联规则表示:
Computer => antivirus_software[support = 2%; confidence = 60%]
关联规则的支持度为2%,意味着所分析的所有事务的2%显示计算机和杀毒软件被同事购买。
置信度60%意味着购买计算机的顾客60%也购买了杀毒软件
规则的支持度(support)和置信度(confidence)是规则兴趣度的两种度量。它们分别反映所发现规则的有用性和确定性。如果关联规则满足最小支持度阈值和最小置信度阈值。这些阈值可以由用户或领域专家设定。
设I = {I1, I2, I3, ... , Im}是项的集合。设任务相关的数据D是数据库事务的集合,其中每个事务T是一个非空项集,使得 T ⊆ I。每个事务都有一个标识符,称为TID。设A是一个项集,事务T包含A,当且仅当A ⊆ T。关联规则是形如 A→B的蕴含式,其中A⊂I,B⊂I,A不为空,B不为空,并且A∩B不为空。
规则A→B在事务集D中成立,具有支持度s,其中s是D中事务A∪B(即集合A和B的并或A和B二者)的百分比。它是概率P(A∪B)。
Support(A→B) = P(A∪B) = P(A&B)
规则A→B在事务集D中具有置信度c,其中c是D中包含A的事务同时也包含B的事务的百分比。这是条件概率P(B|A)。
Confidence(A→B) = P(B|A) = P(A&B)/P(A)
同时满足最小支持度阈值(min_sup)和最小置信度阈值(min_conf)的规则称为强规则。
项的集合称为项集。包含k个项的项集称为k项集。集合{computer, antivirus_soft-ware}是一个2项集。项集的出现频度是包含项集的事务数,简称为项集的频度、支持度计数或计数。
Support(A→B) 定义的项集支持度有时称为相对支持度,而出现频度称为绝对支持度。如果项集I的相对支持度满足预定义的最小支持度阈值(即I的绝对支持度满足对应的最小支持度计数阈值),则I是频繁项集(frequent itemset)。
一般而言,关联规则的挖掘是一个两步的过程:
(1)找出所有的频繁项集:根据定义,这些项集的每一个频繁出现的次数至少与预定义的最小支持计数(min_sup)一样。
(2)由频繁项集产生强关联规则:根据定义,这些规则必须满足最小支持度和最小置信度。
原文:https://www.cnblogs.com/EnzoDin/p/11440816.html