【R的机器学习】Apriori算法

首先关联规则很简单,但是数据的转化具有一定的复杂。

先说关联规则,举个通俗的例子,也就是看很多东西之间的关联度,而这个关联度和数值层面的相关性类似,但是通常处理的是因子型或文本型数据。比如购物车的关联购买。

比如很多人买了啤酒,然后又买了烟,从业务层面,我们希望卖酒的旁边就是卖烟的,这样能刺激相同用户购买。说到这,可以看到,关联规则是一个特殊的聚类,也就是探究人群购物的本质;但是这种聚类是纯粹的从商品层面聚类,比如烟和酒是一类,烟酒茶是一类,口香糖和大蒜是一类等等等等,通过关联规则,可以判定这部分商品是最多用户买的,放在一起就会有更高的价值。

那么说道这,R中有很多的包都是用来计算关联规则的,一般用Aprior算法,这个算法关注三个指标,support,confidence,lift;

通俗点说,support就是购买单一商品的概率,这个指标有什么用呢?比如整个超市的搓澡巾就卖出去10个,即使所有的商品都和肥皂有关联,可能我们也会舍弃他,因为本身的概率很小,这个指标理解为卡掉那些不被经常购买的商品。

confidence,就是置信区间,可以通俗理解为,我购买几个商品组合,和我购买单一商品相比有多大,举个例子,如果我买了10个搓澡巾,8个都是和肥皂一起买的,这个{搓澡巾、肥皂}对于{搓澡巾}的置信区间就是0.8

lift,可以理解为提升度;比如商店一共卖10个搓澡巾,20块肥皂;其中搓澡巾和肥皂在一起的有8次,也就是{搓澡巾,肥皂}=8;也就是说同时发现两种产品的概率为0.8,而单独卖搓澡巾就是0.2,单独卖肥皂就是1.2,搓澡巾的提升度为0.8/0.2=4,而肥皂的提升度为0.8/1.2=0.67;也就是说,有肥皂的时候比没有肥皂的时候搓澡巾卖的更好;而反之不成立

说完这些,我们看下稀疏矩阵的处理,因为从SQL推出的数据是这样的:

test<-data.frame(a=c('A','A','A','B','B','C'),b=c('P1','P2','P3','P1','P2','P1'))

a  b
1 A P1
2 A P2
3 A P3
4 B P1
5 B P2
6 C P1

也就是我们说的长格式,但是如果我们应用Apriori函数进行关联规则探索的话,Apriori应用的格式是一行里面,有很多sep,然后把数据分割成点,类似这样:

citrus fruit,semi-finished bread,margarine,ready soups
tropical fruit,yogurt,coffee
whole milk
pip fruit,yogurt,cream cheese ,meat spreads
other vegetables,whole milk,condensed milk,
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值