视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据挖掘关联规则分析报告
2025-09-27 16:17:19 责编:小OO
文档
关联规则分析报告

2009年7月8日

一 前言

使用关联规则挖掘算法分析购物清单时,会产生不止“啤酒→尿布”的单一关联规则,而将出现涉及多种商品的“纵横交错”的多条关联规则。针对这一实际问题,本文利用学生日常购物记录数据进行关联分析,通过概念分层从不同粒度上分析商品之间的关联性,从而找到商品之间的关联规则,实现优化超市货物摆放次序的目的。

二 数据预处理

1)在SQL server 2000 查询分析器里执行下面的SQL语句

declare @sql varchar(8000)

set @sql = 'select zid ,xh'

select @sql = @sql + ' , max(case goodsid when ''' + goodsid + ''' then goodsid  end) [' + 'n'+ goodsid + ']'

from (select distinct goodsid from rcxfjl) as a

set @sql = @sql + ' into table_a from rcxfjl group by zid,xh'

exec(@sql)

2)在PB里将有购买记录的列改为”yes”

    for i=1 to dw_1.rowcount()

    for li_index=1 to long(dw_1.object.datawindow.column.count)

        if integer(dw_1.getitemstring(i,dw_1.describe('#' + string(li_index)         + ".name")))>0 then

              dw_1.setitem(i,dw_1.describe('#' + string(li_index) +                     ".name"),"yes")

        end if

    next

next

3)将处理好的数据直接导出到Excel中

4)将Excel表中的空格替换成”?”(在weka中?表示缺省值)

三 前7710条真实数据分析

1 商品按小类分析

1.1 商品规范化

中类商品再分小类对挖掘没有太大意义,故都将其看作一类;对于学生来说,家庭用品也没有太大意义,将其删除掉。数据预处理过程如下:

统一商品名:

表1 统一商品

商品类名原来编号处理后编号
饮料02020010001
罐头\八宝粥

03001030010001
冲调食品03002030020001
奶粉03003030030001
营养保健03004030040001
冲泡包面\粉

04001040010001
罐头食品04002040020001
南北干货04004040040001
冷藏\冷冻食品

05001050010001
冰制品05002050020001
外购面包05003050030001
个人清洁用品07002070020001
头饰\首饰

07003070030001
纸类用品07004070040001
书报10001100010001
纸品10002100020001
文具10003100030001
礼品10004100040001
内衣11001110010001
睡衣11002110020001
鞋类11003110030001
女装11004110040001
男装11005110050001
帽子11006110060001
表2 删除的商品

商品类名编号处理方式
烟酒02004删除
厨房调料04003删除
蔬菜06001删除
家禽类06003删除
肉类06004删除
家用清洁用品07001删除
百货\家居类

08删除
百货\综合类

12删除
Minimum support: 0.04 ,Minimum metric : 0.4,结果如下,

Best rules found:

1. N030010001=yes 127 ==> N020010001=yes 71 conf:(0.56)

2. N010010002=yes 148 ==> N020010001=yes 66 conf:(0.45)

3. N010010001=yes 180 ==> N020010001=yes 79 conf:(0.44)

4. N010010002=yes 148 ==> N010010001=yes 63 conf:(0.43)

5. N040010001=yes 233 ==> N020010001=yes 99 conf:(0.42)

注:N030010001:罐头\八宝粥,020010001:饮料,N010010002:小面包,N010010001:蛋糕,040010001:冲泡包面\粉

    从关联结果可知,买罐头\八宝粥又买饮料关联性最强,其次是小面包、蛋糕、冲泡包面\粉。在日常生活购物中,我们买了罐头、面包后再买饮料或牛奶的概率极大,关联结果比较符合事实。

1.2商品筛选

筛选出商品的购买次数>25的商品然后进行关联分析,结果如下

Minimum support: 0.035 ,Minimum metric : 0.3,结果如下,

Best rules found:

1. N010010005=yes 120 ==> N010010001=yes 53 conf:(0.44)

2. N010010005=yes 120 ==> N010010002=yes 53 conf:(0.44)

3. N010010002=yes 148 ==> N010010001=yes 63 conf:(0.43)

4. N010010002=yes 148 ==> N010010005=yes 53 conf:(0.36)

5. N010010001=yes 180 ==> N010010002=yes 63 conf:(0.35)

注:N010010005:绿豆糕,N010010001:蛋糕,N010010002:小面包

    从关联结果可知,买绿豆糕又买蛋糕关联性最强,其次是小面包,关联结果也比较符合事实。

2 商品按中类分析

由于总共才有1535个事务,故将算法参数支持度和置信度设置较低,Minimum support: 0.04 ,Minimum metric : 0.2。结果如下,

Best rules found:

1. N01002=yes 136 ==> N01001=yes 77 conf:(0.57)

2. N02002=yes 161 ==> N01001=yes 83 conf:(0.52)

3. N03001=yes 127 ==> N01001=yes 65 conf:(0.51)

4. N02001=yes 226 ==> N01001=yes 104 conf:(0.46)

5. N04001=yes 233 ==> N01001=yes 85 conf:(0.36)

6. N01003=yes 176 ==> N01001=yes 62 conf:(0.35)

7. N02001=yes 226 ==> N04001=yes 67 conf:(0.3)

8. N04001=yes 233 ==> N02001=yes 67 conf:(0.29)

9. N01001=yes 494 ==> N02001=yes 104 conf:(0.21)

    从结果可知,买糖果\巧克力又买饼干\糕点的概率最大,乳品饮料与饼干\糕点、罐头\八宝粥与饼干\糕点、碳酸饮料与饼干\糕点概率次之。

3 商品按大类分析

Minimum support: 0.04 ,Minimum metric : 0.4,结果如下,

Best rules found:

1. N02=yes N04=yes 103 ==> N01=yes 69 conf:(0.67)

2. N03=yes N02=yes 93 ==> N01=yes 61 conf:(0.66)

3. N01=yes N04=yes 106 ==> N02=yes 69 conf:(0.65)

4. N03=yes N01=yes 97 ==> N02=yes 61 conf:(0.63)

5. N02=yes 436 ==> N01=yes 238 conf:(0.55)

6. N03=yes 197 ==> N01=yes 97 conf:(0.49)

7. N03=yes 197 ==> N02=yes 93 conf:(0.47)

    从结果可知买食品\酒饮类、食品\粮油类与买食品\休闲类关联性最大。

注:N01是“食品\休闲类”,N02是“食品\酒饮类”,N03是“食品\冲调类”,N04是“食品\粮油类”。

4 分析比较

从上面中类和大类分析可知,食品之间的关联性最大,其实这也是显而易见的,顾客买了罐头\八宝粥后会买饼干\糕点等食品,再买饮料的概率也很大,而实际中超市几乎都是这样安排商品的,大多食品都放在一起饮料放在旁边,这样方便顾客购买,增加销售。

四 后44904条随机数据分析

1 商品按小类分析

1.1 商品规范化

统一商品名:

表3 统一商品

商品类名原来编号处理后编号
饮料02020010001
罐头\八宝粥

03001030010001
冲调食品03002030020001
奶粉03003030030001
营养保健03004030040001
冲泡包面\粉

04001040010001
罐头食品04002040020001
南北干货04004040040001
冷藏\冷冻食品

05001050010001
冰制品05002050020001
外购面包05003050030001
个人清洁用品07002070020001
头饰\首饰

07003070030001
纸类用品07004070040001
书报10001100010001
纸品10002100020001
文具10003100030001
礼品10004100040001
内衣11001110010001
睡衣11002110020001
鞋类11003110030001
女装11004110040001
男装11005110050001
帽子11006110060001
表4 删除的商品

商品类名编号处理方式
烟酒02004删除
厨房调料04003删除
蔬菜06001删除
家禽类06003删除
肉类06004删除
家用清洁用品07001删除
百货\家居类

08删除
百货\综合类

12删除
Minimum support: 0.04 ,Minimum metric : 0.3,结果如下,

Best rules found:

 1. N030010001=yes 127 ==> N020010001=yes 71    conf:(0.56)

2. N010010002=yes 148 ==> N020010001=yes 66 conf:(0.45)

3. N010010001=yes 180 ==> N020010001=yes 79 conf:(0.44)

4. N010010002=yes 148 ==> N010010001=yes 63 conf:(0.43)

5. N040010001=yes 233 ==> N020010001=yes 99 conf:(0.42)

6. N010010001=yes 180 ==> N010010002=yes 63 conf:(0.35)

注:N030010001:罐头\八宝粥,020010001:饮料,N010010002:小面包,N010010001:蛋糕,040010001:冲泡包面\粉,N010010005 

    从关联结果可知,买罐头\八宝粥又买饮料关联性最强,其次是小面包与饮料,至于得出这样的结果,原因可能是我选取后面的44904条数据不完全都是随机生成的。

1.2商品筛选

筛选出商品的购买次数>190的商品然后进行关联分析,结果如下

Minimum support: 0.01 ,Minimum metric : 0.1,结果如下,

Best rules found:

 1. N040010003=yes 252 ==> N040010002=yes 59    conf:(0.23)

2. N010010002=yes 290 ==> N010010001=yes 65 conf:(0.22)

3. N040010002=yes 282 ==> N040010003=yes 59 conf:(0.21)

4. N010010001=yes 313 ==> N010010002=yes 65 conf:(0.21)

注:N040010003:热干面,N040010002:酱拌面, N010010001:蛋糕,N010010002:小面包

    从关联结果可知,买热干面又买酱拌面关联性最强,其次是小面包与蛋糕,但其支持度和置信度均较低。

2 商品按中类分析

Minimum support: 0.15,Minimum metric : 0.5,结果如下

Best rules found:

 1. N10003=yes 1335 ==> N08006=yes 793    conf:(0.59)

2. N10006=yes 1260 ==> N08006=yes 744 conf:(0.59)

3. N08005=yes 1159 ==> N08006=yes 680 conf:(0.59)

4. N08003=yes 1163 ==> N08006=yes 682 conf:(0.59)

5. N02001=yes 1186 ==> N08006=yes 693 conf:(0.58)

6. N01002=yes 1281 ==> N08006=yes 747 conf:(0.58)

7. N07001=yes 1207 ==> N08006=yes 701 conf:(0.58)

8. N06002=yes 1288 ==> N08006=yes 747 conf:(0.58)

9. N01001=yes 1383 ==> N08006=yes 787 conf:(0.57)

 10. N07002=yes 2172 ==> N08006=yes 1231    conf:(0.57)

 11. N01003=yes 2106 ==> N08006=yes 11    conf:(0.56)

 12. N01001=yes 1383 ==> N07002=yes 707    conf:(0.51)    

    从结果可知,工具(N08006)与其他商品关联性较强,但是仔细分析数据库中的数据会发现中类“工具”下包括的商品种类是最多的,用随机数生成数据时“工具“中类的商品会明显多于其他中类的商品,所以用中类划分随机数进行关联分析不科学。

3 商品按大类分析

Minimum support: 0.5,Minimum metric : 0.8,结果如下

Best rules found:

 1. N10=yes 3170 ==> N08=yes 2753    conf:(0.87)

2. N01=yes 3368 ==> N08=yes 2920 conf:(0.87)

3. N07=yes 3244 ==> N08=yes 2811 conf:(0.87)

 4. N02=yes 2800 ==> N08=yes 2418    conf:(0.86)    

    从结果可知,用大类划分随机数进行关联分析也存在上述问题。

4 分析比较

从上面中类和大类分析可知,不管用大类还是用中类划分随机数进行关联分析都会存在划分不平均的问题。而用处理后的小类商品分析得出买热干面又买酱拌面概率最大。

五 52614条混合数据分析

1 商品按小类分析

1.1 商品规范化

统一商品名:

表5 统一商品

商品类名原来编号处理后编号
饮料02020010001
罐头\八宝粥

03001030010001
冲调食品03002030020001
奶粉03003030030001
营养保健03004030040001
冲泡包面\粉

04001040010001
罐头食品04002040020001
南北干货04004040040001
冷藏\冷冻食品

05001050010001
冰制品05002050020001
外购面包05003050030001
个人清洁用品07002070020001
头饰\首饰

07003070030001
纸类用品07004070040001
书报10001100010001
纸品10002100020001
文具10003100030001
礼品10004100040001
内衣11001110010001
睡衣11002110020001
鞋类11003110030001
女装11004110040001
男装11005110050001
帽子11006110060001
表6 删除的商品

商品类名编号处理方式
烟酒02004删除
厨房调料04003删除
蔬菜06001删除
家禽类06003删除
肉类06004删除
家用清洁用品07001删除
百货\家居类

08删除
百货\综合类

12删除
Minimum support: 0.08 ,Minimum metric : 0.5,结果如下,

Best rules found:

 1. N070030002=yes 2267 ==> N020010001=yes 1272    conf:(0.56)

2. N100030001=yes 1407 ==> N020010001=yes 7 conf:(0.56)

3. N030020001=yes 1015 ==> N020010001=yes 565 conf:(0.56)

4. N040010001=yes 944 ==> N020010001=yes 522 conf:(0.55)

5. N070030003=yes 906 ==> N020010001=yes 4 conf:(0.54)

 6. N030020001=yes 1015 ==> N070030002=yes 509    conf:(0.5)

注:N070030002:头绳,020010001:饮料,N100030001:果冻,N030020001:蜂蜜,040010001:冲泡包面\粉,N070030003:发卡

    从关联结果可知,买头绳又买饮料关联性最强,其次是果冻、蜂蜜和冲泡包面\粉,另一个有趣的是发卡果冻关联性较大。

1.2商品筛选

筛选出商品的购买次数>190的商品然后进行关联分析,结果如下

Minimum support: 0.01 ,Minimum metric : 0.2,结果如下,

Best rules found:

1. N040010003=yes 252 ==> N040010002=yes 59 conf:(0.23)

2. N010010002=yes 290 ==> N010010001=yes 65 conf:(0.22)

3. N040010002=yes 282 ==> N040010003=yes 59 conf:(0.21)

4. N010010001=yes 313 ==> N010010002=yes 65 conf:(0.21)

注:N040010003:热干面,N040010002:酱拌面, N010010001:蛋糕,N010010002:小面包

    从关联结果可知,买热干面又买酱拌面关联性最强,其次是小面包与蛋糕,但其支持度和置信度均较低。

2 商品按中类分析

Minimum support: 0.1,Minimum metric : 0.5,结果如下

Best rules found:

 1. N10006=yes 1299 ==> N08006=yes 755    conf:(0.58)

2. N10003=yes 1407 ==> N08006=yes 815 conf:(0.58)

3. N08005=yes 1196 ==> N08006=yes 691 conf:(0.58)

4. N08003=yes 1223 ==> N08006=yes 703 conf:(0.57)

5. N04003=yes 1070 ==> N08006=yes 608 conf:(0.57)

6. N01003=yes N07002=yes 1072 ==> N08006=yes 593 conf:(0.55)

7. N07002=yes 2267 ==> N08006=yes 1254 conf:(0.55)

8. N01002=yes 1420 ==> N08006=yes 770 conf:(0.54)

9. N01003=yes 2295 ==> N08006=yes 1213 conf:(0.53)

 10. N06002=yes 1439 ==> N08006=yes 758    conf:(0.53)

 11. N07001=yes 13 ==> N08006=yes 717    conf:(0.53)

 12. N02002=yes 1277 ==> N08006=yes 650    conf:(0.51)

 13. N02001=yes 1408 ==> N08006=yes 708    conf:(0.5)

    从结果可知,用中类划分数据进行关联分析存在上述问题。

3 商品按大类分析

Minimum support: 0.1,Minimum metric : 0.9,结果如下

Best rules found:

 1. N07=yes N01=yes N04=yes N10=yes 800 ==> N08=yes 728    conf:(0.91)

2. N07=yes N04=yes N06=yes 742 ==> N08=yes 673 conf:(0.91)

3. N07=yes N01=yes N04=yes N06=yes 555 ==> N08=yes 501 conf:(0.9)

4. N01=yes N04=yes N10=yes N11=yes 543 ==> N08=yes 490 conf:(0.9)

    从结果可知,用大类划分随机数进行关联分析仍存在上述问题。

4分析比较

从上面中类和大类分析可知,不管用大类还是用中类划分随机数进行关联分析都会存在划分不平均的问题。而用处理后的小类商品分析得出买热干面又买酱拌面概率最大。

六 总结

    本文通过概念分层从不同粒度上分析商品之间的关联性,虽然用大类和用中类划分随机数进行关联分析都会存在划分不平均的问题,但根据处理后的小类分析仍得到了一些有趣的规则,例如热干面与酱拌面的关联性较大,发卡与果冻的关联性也较大。下载本文

显示全文
专题