关联规则

关联规则也称为购物篮分析,最早是为了发现超市销售数据库中不同商品之间的关联关系。
常用的关联规则算法:
关联规则_第1张图片

一、Apriori算法

核心思想:通过连接,产生候选项与其支持度,通过剪枝生成频繁项集。

1、关联规则和频繁项集

(1)项集:是项的集合,包含k个项的项集称为k项集,如集合{牛奶,麦片,糖}是一个3项集。项集出现的频率是所有包含项集的事务计数(又称为绝对支持度或支持度计数)。
(2)频繁项集:项集I的相对支持度满足预定义的最小支持度阈值,则为频繁项集,频繁k项集通常记为k。
(3)关联规则(相对支持度和置信度):项集A,B同时发生的概率称为关联规则的支持度,也就是相对支持度。项集A发生,则项集B发生的概率为关联规则的置信度。
在这里插入图片描述
在这里插入图片描述
(4)最小支持度和最小置信度(都是阈值):前者是衡量支持度的一个阈值,表示项集在统计意义上的最低重要性;后者是衡量置信度的一个阈值,表示关联规则的最低可靠性。强规则:同时满足两个阈值的规则。
(5)支持度计数:项集A的支持度计数是事务数据集包含项集A的事务个数,简称为项集的频率或计数。
(6)支持度和置信度求解:已知项集的支持度计数,那么很容易计算出来:
在这里插入图片描述

2、Apriori算法

主要思想:找出存在于事务数据集中的最大的频繁项集,利用得到的最大频繁项集合余弦设定的最小置信度阈值产生强关联规则。
算法实现过程:
(1)找出所有的频繁项集:该过程中,连接步和剪枝步互相融合,最终得到最大的频繁项集Lk(可能不止一个)及其支持度。
连接步:连接步的目的是找到K 项集。对给定的最小支持度阈值,分别对1项候选集C1 ,剔除小于该阈值的项集得到1 项频繁集L1(可能有多个频繁集);下一步由L1自身连接产生2项候选集C2,保留C2 中满足约束条件的项集得到2 项频繁集,记为L2;再下一步由L2 与L1 连接产生3 项候选集C3 ,保留C2 中满足约束条件的项集得到3 项频繁集,记为L3… 这样循环下去,得到最大频繁项集Lk。
剪枝步:剪枝步紧接着连接步,在产生候选项Ck 的过程中起到减小搜索空间的目的。由于Ck 是Lk-1 与L1 连接产生的,根据Apriori 的性质频繁项集的所有非空子集也必须是频繁项集,所以不满足该性质的项集不会存在于Ck 中,该过程就是剪枝。剪枝为空时停止关联。
关联规则_第2张图片
(2)由频繁项集产生强关联规则:由过程1可知,未超过预定最小支持度阈值的项集已被剔除,如果剩下这些规则又满足了预订的最小置信度阈值,那么就挖掘出了强关联规则。注意:关联规则要计算支持度和置信度,而且不止看最大频繁项集,其他程度的频繁项集也看。
(3)关联规则里的数据转换:
1、Excel中:
关联规则_第3张图片
2、读取Excel后
关联规则_第4张图片
3、将map后的字典形式转换为0-1的dataframe格式:
关联规则_第5张图片

你可能感兴趣的:(机器学习)