一.概述
1.概念:
"关联规则分析"(Association Analysis)是指发现存在于数据集中的关联性,从而描述1个事物中某些属性间的规律
2.相关概念:
下表是某超市的部分交易记录(TID为交易号,Items为交易的商品):
PID | Items |
---|---|
001 | Cola,Egg,Ham |
002 | Cola,Diaper,Beer |
003 | Cola,Diaper,Beer,Ham |
004 | Diaper,Beer |
通过分析该数据集,可找出关联规则,如 { C o l a } → { D i a p e r } \{Cola\}→\{Diaper\} { Cola}→{ Diaper}表示购买了Diaper的顾客很可能会购买Beer.下面是1些常用概念
概念 | 说明 |
---|---|
事务 | 每条记录称为1个事务,例如上表包含了4个事务 |
项 | 交易的每个物品称为1个项,如Diaper、Beer等 |
项集 | 包含0或多个项的集合称为项集,如{Beer,Diaper}、{Beer,Cola,Ham} |
k-项集 | 包含k个项的项集叫作"k-项集",例如{Cola,Beer,Ham}叫作3-项集 |
支持度计数 | 一个项集出现在几个事务当中,它的支持度计数就是几。例如{Diaper,Beer}出现在事务002/003/004中,故其支持度计数为3 |
支持度 | 支持度计数除于总的事务数。例如,上例中总的事务数为 4,{Diaper,Beer}的支持度计数为 3,所以对{Diaper,Beer}的支持度为75%,这说明有75%的人同时买了Diaper和Beer |
频繁项集 | 支持度大于或等于某个阈值的项集就叫作频繁项集。例如阈值为50%时,因为{Diaper,Beer}的支持度为75%,故其是频繁项集 |
前件和后件 | 对于规则{A}→{B},{A}称为前件,{E}称为后件 |
置信度 | 对于规则{A}→{B},它的置信度为{A,B}的支持度计数除以{A}的支持度计数。例如,规则{Diaper}→{Beer}的置信度为3/3,即100%,这说明买了Diaper的人也买了Beer |
强关联规则 | 大于或等于最小支持度阈值和最小置信度阈值的规则叫作强关联规则。通常意义上说的关联规则都是指强关联规则。关联分析的最终目标就是要找出强关联规则 |
闭项集 | 如果项集X的直接超集都不具有和它相同的支持度计数,则X是闭项集 |
频繁闭项集 | 如果项集X是闭的,并且它的支持度大于或等于最小支持度阈值,则X是频繁闭项集 |
最大频繁项集 | 如果项集X是频繁项集,并且它的直接超集都不是频繁的,则X为最大频繁项集 |
3.步骤:
①发现频繁项集
②发现强关联规则
4.常见算法:
二.Apriori算法