数据挖掘之关联规则算法
共 1441字,需浏览 3分钟
·
2021-08-01 19:46
你好,我是林骥。
曾经有一段时间,「数据挖掘」这个概念很火,其中「啤酒与尿布」的故事广为流传。
据说,沃尔玛为了准确了解客户的购买习惯,对其客户的购物行为进行购物篮分析,想知道客户经常一起购买的商品有哪些。
在沃尔玛的数据仓库里,有非常详细的原始订单数据,数据分析师利用算法,对这些原始订单数据进行分析和挖掘,发现「跟尿布一起购买最多的商品竟然是啤酒」。
经过大量的调查和分析,发现客户的一种行为模式:一些年轻的父亲下班后,经常要到超市去买尿布,而他们中有 30%~40% 的人,同时也为自己买一些啤酒。
后来「大数据」和「人工智能」的概念兴起,我感觉说「数据挖掘」的人已经不多了。但是,这些不同概念的背后,一些算法的原理其实是相同的。
比如说,关联规则算法,就是从一件事情的发生,来推测另外一件事情发生的概率,从而帮助我们更好地了解和掌握事物的发展规律。
关联规则算法的应用非常广泛,例如:交叉销售、商品摆放、流失分析、价格分析、习惯分析等。
应用关联规则算法时,通常会涉及几个重要的参数,分别是:项目集、支持度、置信度、重要性。
举一个简单的例子,假设有 3 笔订单,对应的产品明细如下:
订单号 | 产品明细 |
10001 | 啤酒,尿布 |
10002 | 啤酒,尿布 |
10003 | 尿布 |
1. 项目集
每个项目集都有一个大小,该大小表示项目集中包含的项的数目。
比如说,在上面的例子中,包含 3 个项目集,分别是:{啤酒}、{尿布}、{啤酒,尿布}。项目集 {啤酒} 的大小是 1,项目集 {啤酒,尿布} 的大小是 2。
频繁项目集,就是在数据集中出现频率高的那些项目集。
2. 支持度
支持度表示一个项目集出现的次数。
比如说,项目集 {啤酒,尿布} 的支持度,是同时包含啤酒和尿布的订单总个数是 2 个。
在处理关联规则之前,先指定一个最小的支持度,用于对项目集进行限制,表示用户只对某些项目集感兴趣。
3. 置信度
置信度是一个表示概率的属性。
比如说,在上面的例子中,对于购买啤酒的客户,同时购买尿布的置信度是 100%。
在处理关联规则之前,先指定一个最小的置信度,用于对规则进行限制,表示用户只对某些规则感兴趣,这些规则要大于或等于最小的概率。
4. 重要性
实际挖掘出来的一些关联规则,并非都是有用的,有时候甚至是有一定的误导性,所以重要性这个指标就显得非常重要。
关联规则的重要性,是指在已知规则左侧的情况下,求规则右侧的对数可能性。
如果重要性分数为 0,那么表示没有关联;正的重要性分数表示正相关;负的重要性分数表示负相关。
最后的话
在数据分析中,面对不同的场景,运用适当的思维、算法或模型,可以帮助你更好地观察事物和看待世界,形成正确的认知,从而做出科学的决策。
这篇文章介绍的关联规则算法,相对比较专业,你不需要死记硬背,只需要有个大致的了解。
当你以后遇到类似的场景时,如果能够想起来有这么一种算法,然后就可以借助相关的软件,把它应用到实际业务中去,想方设法为业务赋能,从而创造更大的价值。
相关文章:决策树算法应用及结果解读
关注林骥,更多干货早知道。