809669515

2018-10-22   阅读量: 907

数据分析师 数据挖掘 机器学习

使用python创建RFM模型

扫码加入数据分析学习群

RFM是客户分析及衡量客户价值的重要模型之一,其中的R表示最近一次消费(Recency),F表示消费频率(Frequency),M表示消费金额(Monetary)。依据这三个指标RFM可以将客户动态分组,并进一步指导客户运营的下一步工作。本篇文章使用python的聚类算法创建一个粗糙的RFM模型。

1. 开始前的准备工作

首先是开始前的准备工作,这里除了常用的numpy和pandas以外,有几个库文件单独说明下,pymysql是python连接mysql进行数据提取的库,cluster用于聚类,此外还有一些库文件在本篇文章中并没有使用到,例如DecisionTreeClassifier,grid_search和cross_validation等等。这些会在后面对RFM模型进行进一步分类预测,模型持久化和依据RFM模型做内容推荐时使用到。因此先一起放在这里,后面的系列文章会进行使用说明。

2. 从mysql提取RFM指标数据

原始的用户数据存储在mysql中,因此需要使用python连接mysql进行数据提取。下面是具体的代码和数据提取过程。

使用提取的数据创建DataFrame数据表,取名为rfm。

查看数据表的前5行数据,这里除了创建RFM模型必要的指标以外,还保留了用户ID,年龄等信息,也是为了后面的分类和推荐使用。

3. 使用K-Means进行RFM模型聚类

单独提取数据表中frequency,monetary,和recency三个字段进行聚类。首先转化为数组。

设置KMeans模型参数,并代入指标数据进行拟合。

查看KMeans聚类后的8个质心点的值。

在原始数据表中对每个用户进行聚类结果标记。这样我们就可以知道每个用户ID在RFM模型中所属的类别。

查看RFM模型8个类别中的用户数量。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
96.2725 3 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子