【如何R实现聚类算法及3D可视化展示】:kmeans聚类方法在用户价值细分上的应用

本文介绍了使用R语言的kmeans聚类算法进行用户价值细分,通过RFM(Recency, Frequency, Monetary)模型对用户行为进行分析。首先读入并处理数据,包括时间间隔计算、去除相关性和异常值。接着,应用kmeans聚类得到结果,并利用3D可视化展示聚类效果,从而得出实用的用户细分结论。" 131408864,7242739,设计模式全解析:23种GOF模式与UML实战,"['设计模式', 'UML']
摘要由CSDN通过智能技术生成

Author : QQ Zhou

大家应该很熟悉RFM模型,这是在做用户价值细分常用的方法。主要涵盖的指标有R(Recency);消费频率(Frequency);消费金额(Monetary);RFM模型在用户价值细分上具有很强的解释性和可操作性。但以下为了展示R是如何聚类算法及可视化。我们姑且用R、F、M三个指标聚类得出具有实用性和解释性的结论。

数据见文章最后。

步骤一:读入数据,查看数据。

#在此,我将原始数据存放在桌面,命名为customer_data.csv
#读入数据
customer_data=read.csv("C:\\Users\\Administrator\\Desktop\\customer_data.csv",header=TRUE)
#更改名称
names(customer_data)<-c("cust_id","total_amt","cnt","datetime")
#cust_id为用户id,total_amt是用户在指定时间内的总消费金额,cnt是用户在制定时间内的总消费次数,datetime为用户最近一次购买商品的时间
#查看数据
head(customer_data)

 
结果:


步骤二:数据处理

  • 原始数据做变换,比如在此我们需要将最近一次访问时间(datetime)处理成最近一次访问时间到当前的时间间隔,即代表用户目前是否活跃
  • 去变量之间的相关性(线性变换、主成分分析等)
  • 去异常值

#原始数据变换
#将最近一次访问时间处理成最近一次访问时间到当前的时间间隔,代表该用户是否最近有购买记录(即目前是否活跃)
customer_data$datetime<-as.character.Date(customer_data$datetime)
customer_data$tm_intrvl=as.numeric(max(as.Date(customer_data$datetime,format="%Y%m%d"))-as.Date(customer_data$datetime,format="%Y%m%d"))+1
#去变量之间的相关性(在此做线性变换)
#先检查是否有相关性
cor(customer_data[,c("total_amt&#
  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值