关联规则挖掘_关联分析复习笔记

本文深入探讨关联分析的基础和原理,包括支持度和置信度等关键概念,介绍了Apriori和FP增长等挖掘算法,并讨论了关联规则的实用性和评估标准。此外,还涉及分类属性处理、连续属性处理、序列关联分析以及非频繁模式的应用,揭示了关联规则在购物篮分析、广告流量关联等领域的实践价值。
摘要由CSDN通过智能技术生成

关联分析(Association Analysis)相关概念

从大型数据集中挖掘出潜在的关联关系。

关联分析中常见的关联关系:
代表共现关系的频繁项集(frequent item sets):频繁项集是经常出现在一块儿的物品的集合,它暗示了某些事物之间总是结伴或成对出现。本质上来说,不管是因果关系还是相关关系,都是共现关系,所以从这点上来讲,频繁项集是覆盖量(coverage)这个指标的一种度量关系。
代表相关/因果关系的关联规则(association rules):关联规则暗示两种物品之间可能存在很强的关系,它更关注的是事物之间的互相依赖和条件先验关系。它暗示了组内某些属性间不仅共现,而且还存在 明显的相关和因果关系,关联关系一种更强的共现关系。所以从这点上来将,关联规则是准确率(accuracy)这个指标的一种度量关系。

——关联规则的典型案例:啤酒与尿布。{尿布}→{啤酒}表示许多购买尿布的顾客也会购买啤酒,超市就可以利用这种关系,发现新的交叉销售商机。

关联分析也属于无监督学习(在未知中探索数据内在结构)。

一、基础

1、关联分析的原理

关联分析的目的是发现大型数据集中有意义的联系,那么就需要一个定量的衡量标准,判断哪些联系是有意义的,哪些模式是虚假的或偶然发生的。

既然涉及定量的衡量,那么首先需要将数据用数学形式表示,一种方法是使用非对称二元变量(因为通常认为在交易中出现比不出现更重要)表示法,比如购物篮交易(market basket transaction)数据可表示为:

e3937337f162002b699a3228dcb3738c.png

符号表示

  • transaction翻译为交易或事务,在特定应用场景下,指顾客的一次购买行为。所有N个transaction组成的集合为:T={t1,t2,……,tN}。
  • TID是每次transaction的标识(transaction ID)。
  • 面包、牛奶等叫做transaction的项目(item),关联分析中项目用符号i表示,d个项目组成的集合为:I={i1,i2,……,id}。

单次transaction中,某个项目可能出现(取1)也可能不出现(取0),所有出现的项目组成一个项集,如果一个项集中包含k个项,则称它为-k项集(项集可以为空)。可以说,每单次transaction所包含的项集,都是项目集合I的子集。

transaction的宽度:单次transaction中出现项的个数。

关联规则的有效性判别

关联规则的支持度(support):衡量频繁项集的频繁共现度。即包含该项集的transaction个数除以总的transaction个数。这里所谓的包含,指的是单次transaction中只要有该项集包含的项目即可,不需要完全等价。支持度越高,表明某一关联规则的适用性就越大。

——通俗的说:举例两个项目的情况,包含项目A的事务中同时也包含项目B的概率。假设某天共有100个顾客到商场购买物品,其中有10个顾客的购物篮中都包含有电脑和杀毒软件,那么关联规则的支持度就为10%。

关联规则的置信度(confidence):关联规则可以写作A→B的形式,那么置信度就是B在包含A的transaction中出现的频繁程度。

——A叫做前件(Front ),B叫做后件(Rear)。

公式:

——σ()是包含该项目(项集)的transaction个数。

理解:

(1)支持度很低的规则,可能是偶然发生的。置信度则决定了这个箭头的可靠性。

(2)置信度公式还暗示了另一个非常质朴的道理,如果一个事件A出现概率很高,那么这个事件对其他事件是否出现的推测可信度就会降低。例如夏天今天气温大于20°,这是一个非常常见的事件,可能大于0.9的可能性,事件B是今天你会中彩票一等奖。confidence(A →B)的置信度就不会很高,因为事件A的出现概率很高,这种常见事件对事件B的推导关联几乎没有实际意义。

(3)关联不等于因果,同时出现的变量可能是伪回归。

有效关联规则的发现

一种朴素的方法是,计算所有规则的支持度和置信度,设定两个阈值,高于阈值的,就是有效的规则。

但这种方法的计算代价很高(无论是暴力搜索Brute-force法还是格结构Lattice structure法),所以一般将关联规则的挖掘,拆分为两个步骤:

(1)挖掘频繁项集:找到满足支持度阈值的项集,这些项集叫做频繁项集。

(2)挖掘关联规则:从上一步中产生的频繁项集中,找到高置信度的规则,这些规则被称为强规则(strong rule)。

2、挖掘频繁项集的方法

为了进一步降低挖掘频繁项集的计算代价,可以使用Apriori(先验)等算法。

Apriori(先验)算法

先验原理:如果一个项集是频繁项集,则它的所有子集也是频繁项集。相反,如果一个项集不是频繁项集,那么其所有超集也都不是频繁项集(剪枝)。

这种基于支持度降低搜索空间的策略,叫做基于支持度的剪枝。

FP增长算法(FP-growth)

FP-growth算法基于Apriori构建,但采用了高级的数据结构(FP树)减少扫描次数,大大加快了算法速度。

3、挖掘有效关联规则的方法

上一步基于支持度进行频繁项集的挖掘,这里基于置信度进行关联规则的挖掘。

将频繁项集Y划分为两个非空子集X和Y-X,计算X→Y-X的置信度,如果大于设定的置信度阈值,即为有效规则。

原理:如果X→Y-X是一条低可信度规则,那么所有其他以包含Y-X的子集(指Y的子集)为后件的规则均为低可信度的(剪枝)。

反之,如果X→Y-X是一条高可信度规则,那么其他以包含Y-X的子集为后件的规则可以进入到下一轮的迭代层次搜索中,继续进行判别,直至搜索停止。

4、关联规则的实用性评估

有效的关联规则不一定有意义或有趣,比如{黄油}→{面包}这个规则的实用意义就不大,即便该规则的支持度和置信度都很高,因为这种关系显而易见,不需要关联分析也能发现。相反,{尿布}→{啤酒}的规则就有意义,因为这种联系出乎意料,可以为销售决策提供之前不知道的信息。

常用关联规则的提升度(Lift)衡量规则的实用性:

——对于二元变量,提升度等价于另一种度量—兴趣因子。

提升度反映了项目A的出现对项目B出现的影响程度。其实是一种相关性度量的方法。

  • 如果lift(A,B)<1,则说明A的出现和B的出现是负相关的;
  • 如果lift(A,B)>1,则A和B是正相关的,意味A的出现对B的出现有促进作用;
  • 如果lift(A,B)=1,则说明A和B是独立的,没有相关性。

具有实用性的关联规则应该是提升度大于1的规则。


二、扩展

1、处理分类属性

前面的购物篮数据主要涉及的是非对称二元属性,对于分类属性,其取值不只是0和1,可以做如下处理:

  • 如果分类属性的取值不太多,例如学历属性,取值可能是本科、硕士、博士,可以将其处理为多个虚拟变量:比如学历属性有3个取值,那么可以转换成是否本科、是否硕士、是否博士三个变量,每个变量的取值都是0或1。
  • 如果分类属性的取值很多,例如所属省市,取值有30多个,部分属性值出现不太频繁,可以将所有出现不频繁的属性值合并为一类—“其他”类。或者重新划分为东部、中部、西部这种大类。
  • 如果某一类属性的取某个值的概率非常高,例如在是否本科这个属性中,取值为1的高达95%以上,那么这个属性可能是冗余的,不易发现新信息,可能需要删除。

2、处理连续属性

包含连续属性的关联规则称为量化关联规则,处理方法有:

(1)离散化处理。

例如年龄的取值是连续的,将之离散化即人为分组,比如分为小于20岁,20到60岁,大于60岁,三组。这里的困难也即在于如何确定正确合适的区间个数,否则可能发现不了潜在的模式。

(2)基于统计学的方法。

例如:{收入>100k,网上购物=是}→年龄:均值=38。表明收入大于100k,定期在网上购物的用户,其平均年龄是38岁。

判断这类量化关联规则的有效性,不使用置信度指标,而是使用统计学中的假设检验方法。

(3)处理词关联的方法:min-Apriori。

(4)处理概念分层:层次结构类似树状图,例如家电可分为白电和黑电,白电又分为洗衣机和冰箱等。越底层的规则越特殊,例如滚筒洗衣机和智能电视机的规则,越顶层的规则越泛化,例如白电和黑电。

3、序列关联分析

前面的关联规则都强调事件都是同时出现,而序列关联中数据代表的事件之间存在某种次序关系,通常基于时间或空间的先后次序(因此可以用于预测,得到例如“购买了冰箱的客户会在3个月内购买洗衣机”这样的结论)。

——例如,购买汽车遮阳板的很多顾客会在近期内购买零度玻璃水,该事例不仅反映了事物间的关联关系,而且还具有时间上的先后顺序,因此这一类的关联被称为序列关联规则

4、子图模式

例如化学化合物的结构、网络拓扑、树结构的XML文档等数据,可以用图形表示建模,在这种类型的数据集中进行关联规则挖掘,就是在图的集合中发现一组公共的子结构,即频繁子图挖掘。

5、非频繁模式

关联模式一般基于这种前提,项在事务中出现比不出现更重要,因此才有频繁项集中“频繁”的概念。而非频繁模式是支持度小于设定的支持度阈值的那些规则或项集。那些项之间是负相关关系的非频繁模式,可以用来识别竞争项,例如DVD和VCD。

三、应用

(1)购物篮分析:通过分析用户同时购买了哪些商品来分析用户购物习惯。

(2)网站页面浏览关联分析:可以帮助我们找到用户在不同页面(包含广告页、活动页、超市页、单品页、帮助页等) 之间的频繁访问关系,以分析用户特定的页面浏览模式。 这种频繁模式可用于了解不同页面之间的分流和引流关系,尤其是大型落地页的分析;也可以用来做不同页面间的页面浏览推荐,利于提高用户网站体验和转化率。

(3)广告流量关联分析:针对站外广告投放渠道用户浏览或点击的行为分析,该分析主要用于了解用户的浏览和点击广告的模式,例如点击了A广告之后又点击了B广告;浏览了C广告之后又浏览了D广告。 这种站外广告曝光和点击的关联分析可以为广告客户的精准投放提供参考。 除了用于站外广告分析,还可以用于网站引流的分析,假如公司通过一组整合传播媒体做活动宣传, 那么我们可以分析用户通过宣传渠道到达网站的先后关系和频繁模式,可以从中发觉类似于用户从M广告到达网站之后,还会从N媒体点击到达网站,这对于广告媒体的投放组合和整合营销评估具有重要意义。

(4)用户关键字搜索关联分析:分析用户在站内的搜索关键字是发现用户搜索兴趣并了解用户真实需求的方法之一。 通过对用户搜索关键字的关联分析,可以得到类似于搜索了苹果之后又搜索了iPhone,搜索了三星之后又搜索了HTC,这种关联模型可用于搜索推荐、搜索联想等场景,有助于改善搜索体验,提高客户的目标转化率。

(5)推荐系统:协同过滤的推荐机制(Collaborative Filtering)。


参考

图灵版《数据挖掘导论》

宋天龙《Python数据分析与数据化运营》

关联分析算法(Association Analysis)Apriori算法和FP-growth算法初探​www.cnblogs.com
c0607323ac82bf8e1a191cde71247d5f.png
机器学习算法系列(14):关联分析​plushunter.github.io
193ddee08305785f9ee4baaea91a62fd.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值