关联规则

用于发现隐藏在大型数据集中有意义的联系,所发现的联系可以用频繁项集或者关联规则的形式表示

相关概念

  • 项目:交易数据库中的一个字段,对超市的交易来说一般是指一次交易中的一个物品,如:牛奶

  • 事务:某个客户在一次交易中,发生的所有项目的集合:如{牛奶,面包,啤酒}

  • 项集:包含若干个项目的集合(一次事务中的),一般会大于0个(包含K个 项目就是K-项集)

  • 支持度:项集{X,Y}在总项集中出现的概率(见下面的例子)(支持度计数)

  • 频繁项集:某个项集的支持度大于设定阈值(人为设定或者根据数据分布和经验来设定),即称这个项集为频繁项集。[图片上传中...(123.png-7ecaad-1603444849225-0)]

  • 置信度:在先决条件X发生的条件下,由关联规则{X->Y }推出Y的概率。表示在发生X的项集中,同时会发生Y的可能性,即 X和Y 同时发生的个数占包含X发生个数的比例

Confidence(X→Y) = P(Y|X) = P(X,Y) / P(X) = P(X∩Y) / P(X)
  • 提升度:表示含有X的条件下同时含有Y的概率,与无论含不含X含有Y的概率之比。
    即表示“包含X的事务中同时包含Y事务的比例”与“包含Y事务的比例”的比值。

提升度反映了关联规则中的X与Y的相关性,提升度>1且越高表明正相关性越高,提升度<1且越低表明负相关性越高,提升度=1表明没有相关性。

123.png

支持度,置信度,提升度的例子

https://www.jianshu.com/p/dc053deb94f2

关联规则的挖掘:

1.找出所有频繁项集,满足最小支持度
2.由频繁项集产生强关联规则,,满足最小置信度

Apriori

一个包含k个项目的数据集可能产生(2的k次方-1)个频繁项集

算法性质:(具有方向性,从一个项到N)
搜索-匹配-计数-求比例·····

  • 频繁项集的所有非空子集也一定是频繁的
  • 非频繁项集的超集必定是非频繁的


    Apriori.png
候选集的产生.png
111.png
222.png
333.png

模型评估

利用提升度
https://www.jianshu.com/p/dc053deb94f2

规则X-Y
P(Y|X)/P(Y),称之为X条件对Y事务的提升度,即有X作为前提。
#####################################


666.png

R语言

  • 载入 arules包
  • 数据处理,转换成事务型数据集 ##cjb_trans <- as(cjb,'transactions')
  • 设置参数
  • 找出频繁项集(Apriori算法)
  • 得出强规则
  • 去除冗余规则
  • 可视化
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。