用SparkR探索电商数据(二)

在上一篇文章里面,我们主要是用SparkR对电商数据进行一些统计分析,这次我们将对数据进行聚类分析。


数据预处理

读入数据:

df<-read.df("file:///home/baoyu/datas/JT_data.csv","csv",header="true")   # local模式
createOrReplaceTempView(df,"df")
sparkR.session()
统计用户的搜索次数:

a=summarize(groupBy(df, df$ID), countid = n(df$ID))
head(arrange(a, desc(a$countid)))



发现两个异常用户ID,前两个ID的搜索记录远高于其他所有ID的记录,这里考虑将它们排除。

df=sql("select * from df where ID!='6BB61E3B7BCE0931DA574D19D1D82C88' and ID!='5C9C98B077C04DD7EE2E5E302C3AEA5C'")
createOrReplaceTempView(df,"df")


数据剩下3万多行,下面开始聚类。


对家居用品聚类

家居用品里面包括了洗衣机、电视机、冰箱、空调等诸多子目录,为了了解用户对这些商品门类的购买需求以及消费价格水平,我们对家居用品的子类按其搜索次数和搜索均价进行Kmeans聚类:

e=sql("select SUB_CATE,AVG(PRICE) as avgprice,COUNT(*) as count from df where MAIN_CATE='家居日用' group by SUB_CATE")
kmeansModel <- spark.kmeans(e, ~ avgprice + count,k = 4)
head(fitted(kmeansModel))

聚类结果说明:

洗衣机,电视机,冰箱,空调

绿

冰柜,家庭影院,抽油烟机

床上用品,空气调节设备,取暖器,微波炉,餐厨用品,食品加工机,热水器,家具,电风扇,其他家居

其他小家电,洗化用品,杯壶,浴霸,数字机顶盒,装饰收藏,压力锅,手工工具,电锅,毯垫罩用品,生活推车,消毒柜,家纺布艺,剃须刀,其他厨卫电器,生活用纸,饮水机,other,电动牙刷,榨汁搅拌机,电饭煲,台灯,干衣机,居家清洁,电熨斗,插座,电烤箱,消毒杀虫,吸尘器,卫浴用品,播放机,音响器材,OTHER,电水壶,家庭保健,视频线材,保鲜用品,收纳用品,灶具,家庭娱乐,多士炉,居家小物,电磁炉,节能灯,雨具,电吹风

上图的聚类结果可以理解为:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值