无论是提供商品还是服务,用户画像都是数据挖掘工作的重要一环。一个准确和完整的用户画像甚至可以说是许多互联网公司赖以生存的宝贵财富。
我们也已经听过了无数用户画像的神奇功能和成功案例,比如亚马逊、淘宝的机器学习团队使用用户的浏览行为、购物车状态和购买记录开发关联推荐系统,使点击率和销量大幅提升;比如应用市场根据过往app安装记录记对每个使用者进行精准推荐;再比如音乐,图书和新闻网站通过协同过滤的方式为用户呈现个性化的定制内容。要做到这些,就必须对用户的数据进行关联分析,得到精准的推荐算法。
今天的格物汇,就带大家来了解关联分析理论和经典的apriori算法。
关联分析
关联分析是数据挖掘中一项基础又重要的技术,是一种在大型数据库中发现变量之间有趣关系的方法,能从数据中挖掘出潜在的关联关系。或者说,关联分析是发现交易数据库中不同商品(项)之间的联系。比如,在著名的购物篮事务(market basket transactions)问题中,用户在超市里购物数据如下:
id items
1 牛奶,面包
2 面包,尿布,啤酒,鸡蛋
3 面包,尿布,啤酒,可乐
4 牛奶,面包,尿布,啤酒
5 牛奶,面包,可乐,鸡蛋
关联分析则被用来找出此类规则:顾客在买了某种商品时也会买另一种商品。在上述例子中,有的关联规则是很容易理解的比如:{牛奶}→{面包},此外我们还会挖掘出另外的某些规则: {尿布} → {啤酒};即顾客在买完尿布之后通常会买啤酒。后来通过调查分析,原来妻子嘱咐丈夫给孩子买尿布时,丈夫在买完尿布后通常会买自己喜欢的啤酒。
但是,如何衡量这种关联规则是否靠谱呢?我们需要如下指标来衡量。
支持度和置信度
我们想找出这样的规律需要从两个方面考虑:这个规律中的两个商品频繁出现,两个商品关联出现的概率较大。如果两个商品不是频繁出现的,那么有可能是小众群体的个别需求。我们把两个商品一起出现的概率称为支持度。
如果有一个商品a出现的非常频繁比如90%,而另一个商品b虽然跟a一起出现的概率很大,但是概率大的原因是a出现的太频繁了,这也不能反映出其关联关系,我们把a出现b则出现的条件概率称为置信度:
apriori算法
apriori算法就是为了快速的找到数据中关联的频繁集,我们用一个具体的案例来看看吧:假设我们有4种商品:商品0,商品1,商品2和商品3。那么所有可能被一起购买的商品组合都有哪些?这些商品组合可能只有一种商品,比如商品0,也可能包括两种、三种或者所有四种商品。我们并不关心某人买了两件商品0以及四件商品2的情况,我们只关心他购买了一种或多种商品。我们可以穷举出该顾客购买商品所有可能的组合:
一个简单粗暴的求解方法是:我们设定支持度和置信度的阈值——min_sup,min_cof,并算出每一个可能组合的支持度和置信度,把满足要求的组合筛选出来。如果我们的商品很多,这个方法的计算量将呈指数的增长,是很难实现的。
定理:如果一个项集是频繁的,那么其所有的子集(subsets)也一定是频繁的。
这个定理显而易见,假如{a,b,c}出现的概率大,那么{a,b},{c},出现的概率肯定也很大。这看上去没什么用,其实它的逆反定理更有用。
逆反定理:如果一个项集是非频繁的,那么其所有的超集(supersets)也一定是非频繁的。
假如{a}出现的概率很小,那么{a,c},{a,b,c}出现的概率肯定也很小。根据这个逆反定理,我们可以排除很多不必要的计算。
比如我们发现{2,3}是非频繁的,那么{0,2,3},{1,2,3},{0,1,2,3}肯定都是非频繁的。就可以大大减少我们计算的复杂度。
apriori算法流程
apriori算法的目标是找到最大的k项频繁集,这里有两层意思,首先,我们要找到符合支持度标准的频繁集。但是这样的频繁集可能有很多。当然我们可以根据上面的逆反定理减少频繁集的计算范围,第二层意思就是我们要找到最大个数的频繁集。比如我们找到符合支持度的频繁集ab和abe,那么我们会抛弃ab,只保留abe,因为ab是2项频繁集,而abe是3项频繁集。那么具体的,apriori算法是如何做到挖掘k项频繁集的呢?我们可以看下面这个图:
apriori算法采用了迭代的方法,线设定支持度的阈值0.5,先搜索出候选1项集及对应的支持度c1,剪枝去掉低于支持度的1项集,也就是图c1中的{4},得到频繁1项集l1。然后对剩下的频繁1项集进行连接,得到候选的频繁2项集,筛选去掉低于支持度的候选频繁2项集c2,也就是图中c2的{1,2}和{1,5},得到真正的频繁二项集l2,以此类推,迭代下去,直到无法找到频繁k+1项集为止,对应的频繁k项集的集合即为算法的输出结果。也就是用户的购物篮中,商品2,商品3,商品5常常一起购买。
总而言之,apriori算法是一个非常经典的频繁项集的挖掘算法,很多算法都借用了其算法的思想,并做出了改进,我们也将在格物汇之后的文章中进行分享。
本文作者:格创东智ot团队(转载请注明作者及来源)
特斯拉数据泄露事件影响了逾7.5万人
耦合器的工作原理
C语言逻辑运算符优先次序
2010年主流车型汽车防盗技术大PK
应用于焊缝缺陷自动超声检测系统中数据采集电路的设计
想深度构建用户画像?掌握关联分析必不可少
自动驾驶仿真器能助力车企了解驾驶员是如何协同并应对新款ADAS
高边电流放大器构成28V断路器
性价比降噪耳机:NANK南卡降噪耳机和小米降噪耳机买哪个好?
单片机上电复位电路参数分析
PCI-Express插槽
关于国内UWB室内人员定位的无线频段说明
新一代8通道脑电采集芯片研制成功,铠侠与西部数据已中止合并谈判
如何用walsh码完成多用户的扩频
医院正在使用更多的物联网设备来帮助我们来维护健康
0402封装 70种容值 每种容值500片 贴片电容盒
氮化镓功率芯片的开创者纳微打造充电新方式
超声波传感器的四个创新应用
FEC衍生的SEI膜可以抑制薄膜电极的开裂
AR与VR在过去一年的进展如何?