写在前面的话:
最近发现,使用R做数据挖掘很是方便,一是能够快速搭建模型,二来有比较成熟的包进行数据可视化。下面详细记录自己用R语言做的一个商品关联分析,一开始对R不是很熟悉,在网上参考很多文章,然后结合自己的数据,简单的做了一个版本。
主要内容:
- 数据预处理
- 模型构建
- 结果分析
数据预处理:
在考虑对商品进行关联分析前,需要确定使用商品的哪个维度去分析,对于一般的线下的零售数据,可以具体到商品类目,比如啤酒,或者尿布。但是线上电商来说,商品有很明确分类,所以选择的维度可能有商品的一级、二级、三级类目,进而也可以从不同的维度去看商品类目之间的购买关联,同时因为线上商品数量比较多,一般不会考虑商品SPU或者SKU维度。
- 在数据库中取出以下字段
- create_at: 订单支付时间
- user_id: 用户id,用于唯一识别用户
- gender:性别
- device:设备系统类型(Android/IOS)
- categories:一级/二级/三级类目
2. one hot编码处理
当时参考的文章里面是已经对数据进行one hot编码处理了,所以在我用SQL从数据库里取出来的数据,还得用python再洗一遍数据(话说很久都没用python,这门手艺都生了)
不多说了,直接上代码:
import
模型构建:
前面通过sql取数并且利用python进行处理之后生成的csv文件就可以直接导入R中,然后调用关联算法进行相应的分析。
相关代码(R语言):
###商品一级类目
结果分析:
通过以上关联模型,得出商品类目的购买的关联关系
商品一级类目关联规则:
- 数码电脑、女装、男装、日用百货是主要的被关联一级类目
- 客户购买童装时会倾向购买女装
- 从提升度上看,{家居饰品,日用百货} 是有效的强关联规则
不同性别情况:
不同设备情况:
商品二级类目:
二级无特别明显关联规则,关联的商品和性别相关,男士在购买T shirts会关联购买卫衣、裤子
商品三级类目:
从三级类目看,{耳环,女性耳钉}是相对强的关联规则,先买耳环再买女性耳钉的概率大于先买女性耳钉再买耳环
参考文章:
R语言关联分析之啤酒和尿布_王亨的博客-CSDN博客_could not find function inspectblog.csdn.net