机器学习问题有两类:监督学习和无监督学习。聚类分析属于无监督机器学习中的一种算法。
在做用户分析的时候,聚类分析主要用于用户分类,下面通过一个案例说明。
案例背景
在用户运营过程中,通常需要根据用户的属性对用户进行归类,以便于在转化过程中获得更大的收益。用户有很多属性,究竟选择哪些属性进行分析呢?
基本理论
1、第一个基本理论:RFM模型
根据美国数据库营销研究所Arthur Hughes的研究,客户数据库中有三个神奇的要素,这三个要素构成了客户分类最好的指标:
- R-最近一次消费距当前的时长(Recency)
- F-消费频率(Frequency)
- M-消费金额(Monetary)
举个例子:
- 客户A,R:180天,F:1次/月,M:100元/月
- 客户B,R:3天,F:10次/月,M:1000元/月
可以得出结论:客户B的价值高于客户A。这个理论被称为RFM模型。
2、第二个基本理论:聚类分析
实际问题中,可不止两个客户,通常会有很多用户,所以需要根据R、F、M指标对用户进行分类,然后再判断每个类别的客户价值,而对用户进行分类的常用方法就是聚类分析。
以上两个基本理论合起来称为RFM聚类分析。
提取数据
例如,数据分析师从数据库中提取出以下用户相关数据。
用户ID、首次购买时间、最近一次购买时间、购买总金额、购买总次数。
属性构造
根据RFM模型,我们需要R、F、M这三个指标,而拿到的数据没有,所以需要先根据原始数据构造这三个指标:
- R:最近一次投资时间距现在的时长
- F:月均购买次数
- M:月均购买金额
说明:假设该产品的消费频率为月,所以这里统计以月为单位。
聚类分析
构造R、F、M这三个指标后,用工具(Python、R或者SPSS)进行K-Means聚类分析,将用户分成4个或8个类别。
说明:聚类分析主要用于这里!!!
给出结论
计算每个类别的R、F、M指标的均值,根据这三个核心指标,标注每个类别的用户价值:高价值用户、重要挽留客户、重要保持客户、低价值客户等。
Matlab如何对多维数据的聚类作图?
简单来说两步:画出原始数据,画出聚类效果。根据你的数据情况可选择不同的画图命令。
但问题需要再具体一些,
1、几维的数据,超过三维的数据没法画,一般多是二维的数据,三维的也有,相对较少
2、聚类结果如何表示,用同一颜色表示同一类,还是同一类的用一个圆圈或多边形圈起来
3、聚类中心是怎么定义的