干货 :基于用户画像的聚类分析

2018 年 5 月 17 日 数据分析 聂皎月

聚类(Clustering),顾名思义就是“物以类聚,人以群分”,其主要思想是按照特定标准把数据集聚合成不同的簇,使同一簇内的数据对象的相似性尽可能大,同时,使不在同一簇内的数据对象的差异性尽可能大。通俗地说,就是把相似的对象分到同一组。


聚类算法通常不使用训练数据,只要计算对象间的相似度即可应用算法。这在机器学习领域中被称为无监督学习。

 

某大型保险企业拥有海量投保客户数据,由于大数据技术与相关人才的紧缺,企业尚未建立统一的数据仓库与运营平台,积累多年的数据无法发挥应有的价值。企业期望搭建用户画像,对客户进行群体分析与个性化运营,以此激活老客户,挖掘百亿续费市场。众安科技数据团队对该企业数据进行建模,输出用户画像并搭建智能营销平台。再基于用户画像数据进行客户分群研究,制订个性化运营策略。

 

本文重点介绍聚类算法的实践。对用户画像与个性化运营感兴趣的亲们,请参阅本公众号其他文章。

 


Step 1 数据预处理


任何大数据项目中,前期数据准备都是一项繁琐无趣却又十分重要的工作。


首先,对数据进行标准化处理,处理异常值,补全缺失值,为了顺利应用聚类算法,还需要使用户画像中的所有标签以数值形式体现。


其次要对数值指标进行量纲缩放,使各指标具有相同的数量级,否则会使聚类结果产生偏差。

接下来要提取特征,即把最初的特征集降维,从中选择有效特征放进聚类算法里跑。众安科技为该保险公司定制的用户画像中,存在超过200个标签,为不同的运营场景提供了丰富的多维度数据支持。但这么多标签存在相关特征,假如存在两个高度相关的特征,相当于将同一个特征的权重放大两倍,会影响聚类结果。


我们可以通过关联规则分析(Association Rules)发现并排除高度相关的特征,也可以通过主成分分析(Principal Components Analysis,简称PCA)进行降维。这里不详细展开,有兴趣的读者可以自行了解。

 


Step 2 确定聚类个数


层次聚类是十分常用的聚类算法,是根据每两个对象之间的距离,将距离最近的对象两两合并,合并后产生的新对象再进行两两合并,以此类推,直到所有对象合为一类。


Ward方法在实际应用中分类效果较好,应用较广。它主要基于方差分析思想,理想情况下,同类对象之间的离差平方和尽可能小,不同类对象之间的离差平方和应该尽可能大。该方法要求样品间的距离必须是欧氏距离。


值得注意的是,在R中,调用ward方法的名称已经从“ward”更新为“ward.D”。

 

library(proxy)

Dist <- dist(data,method='euclidean') #欧式距离

clusteModel <- hclust(Dist, method='ward.D')

plot(clusteModel)

 


根据R绘制的层次聚类图像,我们对该企业的客户相似性有一个直观了解,然而单凭肉眼,仍然难以判断具体的聚类个数。这时我们通过轮廓系数法进一步确定聚类个数。

 

轮廓系数旨在对某个对象与同类对象的相似度和与不同类对象的相似度做对比。轮廓系数取值在-1到1之间,轮廓系数越大时,表示对应簇的数量下,聚类效果越好。


library(fpc)

K <- 3:8

round <- 30 # 避免局部最优

rst <- sapply(K,function(i){

    print(paste("K=",i))

    mean(sapply(1:round,function(r){

        print(paste("Round",r))

        result<- kmeans(data, i)

        stats<- cluster.stats(dist(data), result$cluster)

        stats$avg.silwidth

    }))

})

plot(K,rst,type='l',main='轮廓系数与K的关系',ylab='轮廓系数')

 


在轮廓系数的实际应用中,不能单纯取轮廓系数最大的K值,还需要考虑聚类结果的分布情况(避免出现超大群体),以及从商业角度是否易于理解与执行,据此综合分析,探索合理的K值。

综上,根据分析研究,确定K的取值为7。

 


Step 3  聚类


K-means是基于距离的聚类算法,十分经典,简单而高效。其主要思想是选择K个点作为初始聚类中心, 将每个对象分配到最近的中心形成K个簇,重新计算每个簇的中心,重复以上迭代步骤,直到簇不再变化或达到指定迭代次数为止。K-means算法缺省使用欧氏距离来计算。

library(proxy)

library(cluster)

clusteModel <- kmeans(data, centers = 7, nstart =10)

clusteModel$size

result_df <- data.frame(data,clusteModel$cluster)

write.csv(result_df, file ="clusteModel.csv", row.names = T, quote = T) 

 


Step 4 聚类结果分析


对聚类结果(clusteModel.csv)进行数据分析,总结群体特征:

 

cluster=1:当前价值低,未来价值高。(5.6%)

cluster=2:当前价值中,未来价值高。(5.4%)

cluster=3:当前价值高,未来价值高。(18%)

cluster=4:当前价值高,未来价值中低。(13.6%)

cluster=5:高价值,稳定群。(14%)

cluster=6:当前价值低,未来价值未知(可能信息不全导致)。(2.1%)

cluster=7:某一特征的客户群体(该特征为业务重点发展方向)。(41.3%)

 

根据分析师与业务团队的讨论结果,将cluster=1与cluster=6进行合并,最终得到6个客户群体,并针对客户群体制订运营策略。

 

客户分群与运营策略

(业务敏感信息打码)

本文转自:众安数盟;

END

如果你对人工智能与机器学习感兴趣,请加交流群:群号:139482724 ;

版权声明:本号内容部分来自互联网,转载请注明原文链接和作者,如有侵权或出处有误请和我们联系。


关联阅读:

原创系列文章:

1:从0开始搭建自己的数据运营指标体系(概括篇)

2 :从0开始搭建自己的数据运营指标体系(定位篇)

3 :从0开始搭建自己的数据运营体系(业务理解篇)

4 :数据指标的构建流程与逻辑

5 :系列 :从数据指标到数据运营指标体系

6:   实战 :为自己的公号搭建一个数据运营指标体系

7:  从0开始搭建自己的数据运营指标体系(运营活动分析)

数据运营 关联文章阅读:  

运营入门,从0到1搭建数据分析知识体系    

推荐 :数据分析师与运营协作的9个好习惯

干货 :手把手教你搭建数据化用户运营体系

推荐 :最用心的运营数据指标解读

干货 : 如何构建数据运营指标体系

从零开始,构建数据化运营体系

干货 :解读产品、运营和数据三个基友关系

干货 :从0到1搭建数据运营体系

数据分析、数据产品 关联文章阅读:

干货 :数据分析团队的搭建和思考

关于用户画像那些事,看这一文章就够了

数据分析师必需具备的10种分析思维。

如何构建大数据层级体系,看这一文章就够了

干货 : 聚焦于用户行为分析的数据产品

如何构建大数据层级体系,看这一文章就够了

80%的运营注定了打杂?因为你没有搭建出一套有效的用户运营体系

从底层到应用,那些数据人的必备技能

读懂用户运营体系:用户分层和分群

做运营必须掌握的数据分析思维,你还敢说不会做数据分析

登录查看更多
22

相关内容

用户画像是真实用户的虚拟代表,是 建立在一系列真实数据(Marketing data,Usability data)之上的目标用户模型。通过用户调研去了解用户,根据他们的目标、行为和观点的差 异,将他们区分为不同的类型,然后每种类型中抽取出典型特征,赋予名字、照片、一些人口统计学要素、场景等描述,就形成了一个人物原型 。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
基于深度学习的表面缺陷检测方法综述
专知会员服务
92+阅读 · 2020年5月31日
专知会员服务
28+阅读 · 2020年5月20日
基于视觉的三维重建关键技术研究综述
专知会员服务
154+阅读 · 2020年5月1日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
189+阅读 · 2020年3月12日
【论文推荐】文本分析应用的NLP特征推荐
专知会员服务
33+阅读 · 2019年12月8日
用户研究:如何做用户画像分析
产品100干货速递
44+阅读 · 2019年5月9日
【知识图谱】基于知识图谱的用户画像技术
产业智能官
101+阅读 · 2019年1月9日
思路+步骤+方法,三步教你如何快速构建用户画像
一文解读聚类中的两种流行算法
量子位
6+阅读 · 2017年11月20日
教你 5 步画出用户画像
职人社
8+阅读 · 2017年9月13日
一文详解聚类和降维(附实例、代码)
数据派THU
7+阅读 · 2017年9月3日
你以为自己真的了解用户画像?其实猫腻可多了
THU数据派
8+阅读 · 2017年7月12日
基于LDA的主题模型实践(三)
机器学习深度学习实战原创交流
23+阅读 · 2015年10月12日
Arxiv
14+阅读 · 2019年9月11日
Meta-Learning with Latent Embedding Optimization
Arxiv
6+阅读 · 2018年7月16日
Arxiv
6+阅读 · 2018年1月29日
Arxiv
5+阅读 · 2018年1月23日
VIP会员
相关VIP内容
基于深度学习的表面缺陷检测方法综述
专知会员服务
92+阅读 · 2020年5月31日
专知会员服务
28+阅读 · 2020年5月20日
基于视觉的三维重建关键技术研究综述
专知会员服务
154+阅读 · 2020年5月1日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
189+阅读 · 2020年3月12日
【论文推荐】文本分析应用的NLP特征推荐
专知会员服务
33+阅读 · 2019年12月8日
相关资讯
用户研究:如何做用户画像分析
产品100干货速递
44+阅读 · 2019年5月9日
【知识图谱】基于知识图谱的用户画像技术
产业智能官
101+阅读 · 2019年1月9日
思路+步骤+方法,三步教你如何快速构建用户画像
一文解读聚类中的两种流行算法
量子位
6+阅读 · 2017年11月20日
教你 5 步画出用户画像
职人社
8+阅读 · 2017年9月13日
一文详解聚类和降维(附实例、代码)
数据派THU
7+阅读 · 2017年9月3日
你以为自己真的了解用户画像?其实猫腻可多了
THU数据派
8+阅读 · 2017年7月12日
基于LDA的主题模型实践(三)
机器学习深度学习实战原创交流
23+阅读 · 2015年10月12日
Top
微信扫码咨询专知VIP会员