【趣味】数据挖掘(2)——烤鸭 面饼之朴素关联

在”数据挖掘(1)——‘被打’与‘北大’的关联“中借有趣的实例介绍了关联规则的三度 (支持度、置信度,兴趣度)概念。为答博友,此文从原讲课PPT中,取一些素材,来解释关联规则的挖掘思路和应用方法。 1 通俗性与深入性的纠结

下笔(击键)之前,为通俗性和理论性的冲突,颇纠结了一番,通俗科普博文,是否需要完全避开公式和推导?查趣味数学小册子,其技巧是:趣例为载体,简喻作引导,推导明道理,前瞻性概述--“学,然后知不足”。 所以,此文仍有一些简单的推导,只需中学数学知识,但仍须静心思量。 2 来自管理层的需求 设想某理想小型超市, 采用mini版超市销售系统, 管理了6种商品,记录了5个顾客的购物单(数据量如此之小,是为了简单地说明思想)。

经理不满足常识性的定性描述,想知道商品间关联,例如,顾客买了面酱就会买烤鸭吗? 要求挖掘出支持度 不小于 2/5(即至少同时被买两次)的商品间的关联。

下面先介绍朴素而费时的笨方法,后介绍聪明一些的方法。 记录总数记为N,N=5; 商品总数记为M,M=6。这里的数值2/5称为支持度阈值t,支持度 不小于2/5的商品组成的集合称为高频集。

3朴素方法 3.1 模仿选举计票方法统计单项高频集 把上面的5条记录视为5张选票,模仿 “唱票-计票-写正字”的方法,逐条唱票-计票,得票不少于两票的商品如下:

解释∶(1)单项统计中看出60%的顾客买了烤鸭、60%的顾客买了面饼、80%的顾客买了面酱。(2)如果所购物品清单中间有N条记录(这里N=5),这里扫描工作量与N称正比,用行话,称为计算复杂度是Order(N),或简单记录为O(N),统计百分比在传统的统计中常见到。

3.2 模仿选举计票方法统计双项高频集 商品总数记为M,M=6, M个对象的两两组合数目为T=M*(M-1)/2,这里T=15 ,(与M2变化趋势大致相同),这一次选举对象是T种组合的每一个“商品对”,逐条 唱票-计票,得票超过两票的“同购商品对”如下

从双项统计中看出,5个顾客中,有60%的顾客买了烤鸭和面酱。传统的统计较少作这种组合统计工作。

3.3 模仿选举计票方法统计三项高频集

类似地,得到高频的同购三项集只有一项:

这说明2/5=40%的顾客同时买了烤鸭、面饼和面酱。

4 从高频集导出关联规则 R1:烤鸭 --> 面饼、面酱。支持度40%,置信度为66.6% 解释:买烤鸭的顾客占3/5,买了烤鸭又同时买了{面饼,面酱} 顾客占2/5,说明在买烤鸭的人当中又买了{面饼、面酱}的占{(2/5) / (3/5) }=66.6%。按朴素的,但不一定总是正确的看法,把买烤鸭视为原因,右边的买{面饼、面酱}的视为结果,现有数据表明,这种因果关系有66.6%的正确性(不是想当然拍脑袋得出的神仙数字)。 且慢宣称找到了发财诀窍,因为对3.3节的结果还有另外两种演绎,(推理方法如上): R2:面饼 --> 烤鸭、面酱 ,支持度40%,置信度为66.6% R3:面酱 --> 面饼、烤鸭 ,支持度40%,置信度为50% 而这些规则的运用之妙成乎于人,例如∶ 用R1,将烤鸭降价以促销面饼、面酱,很可能会破产(一等置信度,导致了破产); 用R2 将面饼降价,以促销烤鸭,可能会发财; (一等置信度,导致了发财); 用R3,引不起顾客的热情。 可见,真理(知识)藏在数据中,还要人去去伪存真。 5 关联规则不是因果关系 设有关联规则: R4: X-->Y s=? c= ? 它并不说明X是Y的原因,因为立刻可以写出有同样支持度的反方向规则,(置信度可能不同), R5: Y-->X s=? c=? R4仅提示,当 X发生时,Y发生的置信度为C ,如果置信度C=0.5 时,则相当于掷硬币算命,不可靠,当C比较大时,例如0.7以上,就值得进一步考察,如果X包含多个项:X=A1A2…..An ,检查其中是否有多余的项,此法可用于排除过敏原,或研究饮食习惯对某种疾病的影响等场合。 我们曾经发表过一种排除因果关系的方法,考察X发生自然波动或者人工扰动时,如果Y的波动表现混沌,则可排除因果关联,反之,则可进一步调查研究:例如啤酒和纸尿布的故事中,通过属于管理范畴的调查,发现“婴儿之父下班为孩子买尿布时顺手买回自己爱喝的啤酒”,使得挖掘出来的规则可理解、可相信。 6 朴素方法太笨,数据量稍大就不可行 朴素方法关键就是“组合被选举对象--唱票--计票”, 容易理解,容易实现,在小规模数据上是可用的,例如,想挖掘一个民间药方中的较重要成分,如果一共10项,每项有10个可能剂量,容易实现程序,现在的PC机已经比较快了,能计算这样的小规模问题。 但是,量变引起质变,当数据变得很大,此法就从可行变为不可行了 考察挖掘关联规则实际过程,易见过程分两大步: (a) 筛出高频集。 给定支持度阈值t ,模仿选举的“唱票-计票”把频率高于t的 单项集,双项集,…,K项集 找出来(如第3节),这一步至少扫描数据库K遍,而且,多项集之组合数量很大,比较费时间。 (b) 计算置信度,比较简单,左边的支持度做分母,两边合起来的的支持度做分子(如第3节)。 在第一步中,当商品总数T比较大,例如实际大超市中,例如T>105, 欲考察K项商品之间关联,当K比较大,例如K>10时,涉及到组合爆炸,也许,用高档计算机也需要若干天,若干月,用行话描述,朴素方法的 Scalability不好,有人把scalability译为 规模伸缩性或者简称伸缩性。 有聪明一点的方法吗?有。 下文中将看到,发表聪明方法的学者一举成名,而那篇论文创造了被引用次数的奇迹,下文将作简介这一成果,同时,分析超高被引用论文的特征。

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2014-07-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

【独家】微软郑宇:大数据驱动智能城市讲座精华(附PPT)

[导读]本文整理自微软亚洲研究院“城市计算”领域负责人郑宇博士近期在清华大数据讲座上的分享内容。郑宇主持研发的Urban Air首次利用大数据来监测和预报细粒度...

2198
来自专栏量子位

XNOR.ai要简化数学,让人工智能从云端走进普通设备

来源 | TechCrunch 编译 | 量子位 陈桦 与许多计算机概念类似,在讨论人工智能、机器学习或深度卷积网络时,人们关注的是数学。这些高性能网络的核心是...

19810
来自专栏PPV课数据科学社区

【经典】用五个趣味案例教你数据分析的基本思想

今天和大家分享一下数据分析的一些基本思想,我给它起了个名字叫做用数据说话。内容都是个人的一些心得,比较肤浅!如有不足之处,希望大家谅解!废话不说了,现在咱正式开...

2473
来自专栏CDA数据分析师

用数据说话——数据分析的基本思想

用数据说话,就是用真实的数据说真实的话!真实也可以理解为求真务实。那么,数据分析就是不断地求真,进而持续地务实的过程!用一句话表达就是用数据说话,用真实的数据说...

2015
来自专栏机器人网

机器人“高速”和“高精度”定义

 机器人 “高速”,“高精度”这两个词,属于大家见得太多习以为常,细想之下又不知该如何准确解释的词。   这个题目可以拆成两个部分:   为什么对于“高速”和“...

2714
来自专栏前端架构

从有限状态机、图灵机到现代计算机

状态机  -  一个离散数学模型。给定一个输入集合,根据对输入的接受次序来决定一个输出集合。

692
来自专栏华章科技

数据分析的基本思想是什么

用数据说话,就是用真实的数据说真实的话!真实也可以理解为求真务实。那么,数据分析就是不断地求真,进而持续地务实的过程!用一句话表达就是用数据说话,用真实的数据说...

833
来自专栏大数据挖掘DT机器学习

五个趣味案例教你数据分析的基本思想

今天和大家分享一下数据分析的一些基本思想,我给它起了个名字叫做用数据说话。 用数据说话,就是用真实的数据说真实的话!真实也可以理解为求真务实。那么,数据分析就是...

3926
来自专栏新智元

【一图读懂】你不得不知道的10个影响人类社会的算法

【新智元导读】本文的信息图表详细介绍了算法的定义、起源以及 10个重要而且基本的算法,并提出有关算法,尤其是人工智能和深度学习对人类社会、经济的影响的思考。 在...

3916
来自专栏龙行天下CSIEM

科学瞎想系列之六十一 说说噪声

上节课老师说了振动,振动和噪声是不可分割的孪生兄弟,振动在介质中传播就形成声波,声波传到宝宝们的耳朵里就形成了噪声(也有说噪音的)。今天老师就给宝宝们说说噪...

2824

扫描关注云+社区