在机器学习中,我们对回归和分类会比较了解,对于无监督学习的聚类分析也会有所了解,而在这里,我要简单介绍一下关联分析的算法。
关联分析最有名的例子,是从客户的购买列表中找出规律,发现买了啤酒的人往往也买了尿布,于是把这两者放在一起,结果同时增加了尿布和啤酒的销量。
从原始数据出发,也就是很多组购物清单,我们如何从中找出规律呢?
比如,我们有
< 啤酒,尿布,牛奶>
< 啤酒,尿布>
< 啤酒,牛奶>
< 面包,尿布,牛奶>
< 花生,啤酒>
。。。
1. 首先我们从中列出哪些一元组、二元组、三元组
比如一元组
<啤酒>, < 尿布>, <牛奶>
二元组
<啤酒,尿布> <啤酒,牛奶> <面包,牛奶>...
三元组
<啤酒,尿布,牛奶> <面包,尿布,牛奶>
2. 删除出现次数少于给定阈值的,比如不得少于两次,那么二元组里面的 <啤酒,牛奶> 会保留下来,而有些出现次数太少的会被除去。
这是因为,我们会有非常多的商品,如果两两组合,会是一个非常大的数字
3. 计算每个 n元组出现的概率,p 等于 出现的清单数目除以总共的清单数目
4. 如果我们要计算,在购买了 啤酒的情况下,购买尿布的概率,那么等于 p(啤酒,尿布) / p(啤酒)
就是这么简单。