关联规则基本方法

数据集:属性之间有依赖性的数据集
方法:针对每个可能出现在规则右边的表达式执行一个分治的规则归纳过程。
特点:能够预测任何属性而不仅仅是类,同时也能预测属性的组合。
想法:根据原始数据产生达到指定最小覆盖量(或者支持度)的项集,然后从每一个项集中找出能够达到最小准确率(或者置信度)的规则。
样本数据以天气数据为例,如下:
outlook
(Attribute)
temperature
(Attribute)
humidity
(Attribute)
windy
(Attribute)
play
(Category)
sunny
hot
high
false
no
sunny
hot
high
true
no
overcast
hot
high
false
yes
rainy
mild
high
false
yes
rainy
cool
normal
false
yes
rainy
cool
normal
true
no
overcast
cool
normal
true
yes
sunny
mild
high
false
no
sunny
cool
normal
false
yes
rainy
mild
normal
false
yes
sunny
mild
normal
true
yes
overcast
mild
high
true
yes
overcast
hot
normal
false
yes
rainy
mild
high
true
no
算法实现 下面介绍一个实现的算法,如下:
(1) 建立项集。
a.建立1项集。统计每个属性值在数据集上出现的次数,将合格(大于最小覆盖量)的1项集保存在哈希表中。
b.建立2项集。将1项集中的单个项进行配对,然后在遍历一次数据集,统计每个2项集的覆盖量,最终将合格 (大于最小覆盖量)的2项集保存在哈希表中。在进行单个项的配对时,没有必要建立一个包含两个相同属性的2项集。
c.依次建立后续的n项集。
产生的数据如下:

编号

1项集

数量

2项集

数量

3项集

数量

4项集

数量

1

outlook=sunny

5

outlook=sunny

temperature=mild

2

outlook=sunny

temperature=mild

humidity=high

2

outlook=sunny

temperature=mild

humidity=high

play=no

2

38



humidity=normal

windy=false

4

humidity=normal

windy=false

play=yes

4



47



windy=false

play=no

2





(2) 项集转化成规则。有些项集产生多个规则,而另一些项集根本不产生任何规则。
例如,我们以编号38的3项集为例子 humidity=normal,windy=false, play=yes,这个3项集将产生7个潜在的规则,如下:
潜在规则
准确率
if humidity=normal then windy=false and play=yes
4/7
if windy=false then humidity=normal and play=yes
4/8
if play=yes then humidity=normal and windy=false
4/9
if humidity=normal and windy=false then play=yes
4/4
if humidity=normal and play=yes then windy=false
4/6
if windy=false and play=yes then humidity=normal
4/7
if - then humidity=normal and windy=false and play=yes
4/14
其中,准确率=三个条件都满足时的实例数目(即覆盖量)/条件满足时的实例数量*100%。最后一个规则不存在条件,它的分母是数据集中实例的总数。
(3) 生成最终规则集。
根据每一个项集生成的潜在规则,选择能够达到最小准确率的规则,形成最终的规则集。
总结:建立关联规则所需要的计算量取决于指定的最小覆盖量,准确率的影响比较小。很多情况下,我们需要在满足指定的最小准确率下,获得一定数量的覆盖量最大的规则。处理方法是指定一个较高的覆盖量,然后逐渐降低,对于每一个覆盖量,重复执行整个寻找规则的算法,直到达到所要求的规则数量为止。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值