RFM模型+SOM聚类︱离群值筛选问题
笔者寄语:一般情况下离群值不应该直接删除,应该进行筛选,然后进行专门的离群值分析。笔者在这进行一下思考,在聚类基础之上的一种离群点检验。
基于聚类的离群点检测的步骤如下:数据标准化——聚类——求每一类每一指标的均值点——每一类每一指标生成一个矩阵——计算欧式距离——画图判断。
1、数据聚类
利用RFM客户价值模型,进行SOM(自组织映射神经网络模型),可以参考笔者的博客。一般的聚类方式,比如K-mean均值是比较常用的聚类方法(可见笔者的其他博客——R语言︱异常值检验、离群点分析、异常值处理)。
当然聚类之前,需要进行数据标准化(scale函数)。
2、计算欧式距离
计算每一类人群的RFM三指标的均值。比如分成三类,计算三类指标的均值。
> km$centers R F M 1 3.4550549 -0.2956536 0.4491234 2 -0.1604506 1.1148015 0.3928444 3 -0.1493534 -0.6588930 -0.2717798
原理就是先生成一个每行都一样的均值矩阵(如下表),然后让原始数据减去均值矩阵的每一行,计算欧式距离。
> x1
[,1] [,2] [,3]
[1,] 3.455055 -0.2956536 0.4491234
[2,] 3.455055 -0.2956536 0.4491234
[3,] 3.455055 -0.2956536 0.4491234
[4,] 3.455055 -0.2956536 0.4491234
欧式距离是公式=sqrt(rowSums((Data-均值矩阵)^2))
#各样本欧氏距离,每一行 x1=matrix(km$centers[1,], nrow = 940, ncol =3 , byrow = T) juli1=sqrt(rowSums((Data-x1)^2)) x2=matrix(km$centers[2,], nrow = 940, ncol =3 , byrow = T) juli2=sqrt(rowSums((Data-x2)^2)) x3=matrix(km$centers[3,], nrow = 940, ncol =3 , byrow = T) juli3=sqrt(rowSums((Data-x3)^2)) dist=data.frame(juli1,juli2,juli3)
此时就会形成一个,三类欧式距离的变量列表。代表原始数据——三个聚类结果的欧式距离。计算每个客户,最小的欧式距离作为最好的筛选指标。
> dist
juli1 juli2 juli3
1 3.1408725 2.4185049 1.2839514
2 4.4956224 1.9607109 1.2517772
3 4.6252512 1.1052795 1.7285993
3、画图并筛选
计算每个客户每个变量最小的欧式距离,然后进行画图,最后筛选出,这批数据的ID信息。
##欧氏距离最小值 y=apply(dist, 1, min) plot(1:940,y,xlim=c(0,940),xlab="样本点",ylab="欧氏距离") points(which(y>2.5),y[which(y>2.5)],pch=19,col="red") ##数据筛选 yy=data.frame(id=which(y>2.5),long=y[which(y>2.5)]) #2.5这个阀值自己调整
RFM模型+SOM聚类︱离群值筛选问题的更多相关文章
- 聚类:层次聚类、基于划分的聚类(k-means)、基于密度的聚类、基于模型的聚类
一.层次聚类 1.层次聚类的原理及分类 1)层次法(Hierarchicalmethods)先计算样本之间的距离.每次将距离最近的点合并到同一个类.然后,再计算类与类之间的距离,将距离最近的类合并为一 ...
- RFM模型的变形LRFMC模型与K-means算法的有机结合
应用场景: 可以应用在不同行业的客户分类管理上,比如航空公司,传统的RFM模型不再适用,通过RFM模型的变形LRFMC模型实现客户价值分析:基于消费者数据的精细化营销 应用价值: LRFMC模型构建之 ...
- 数据挖掘应用案例:RFM模型分析与客户细分(转)
正好刚帮某电信行业完成一个数据挖掘工作,其中的RFM模型还是有一定代表性,就再把数据挖掘RFM模型的建模思路细节与大家分享一下吧!手机充值业务是一项主要电信业务形式,客户的充值行为记录正好满足RFM模 ...
- RFM模型及R语言实现
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 一.基本概念 根据美国数据库营销研究所Arth ...
- 使用ML.NET实现基于RFM模型的客户价值分析
RFM模型 在众多的客户价值分析模型中,RFM模型是被广泛应用的,尤其在零售和企业服务领域堪称经典的分类手段.它的核心定义从基本的交易数据中来,借助恰当的聚类算法,反映出对客户较为直观的分类指示,对于 ...
- 为啥我做的RFM模型被人说做错了,我错哪了?
本文转自知乎 作者:接地气的陈老师 ————————————————————————————————————————————————————— 有同学问:“为啥我做的RFM模型被客户/业务部门批斗,说 ...
- 用户价值和RFM模型
什么是用户价值? 用户价值就是对公司来说有用的地方,比如有的公司看中用户的消费能力,有的公司则看中用户的忠诚度 .各公司的业务目的不同,用户价值的体现自然也不同.这里主要说一下适用于电商的RFM模型. ...
- 数据分析-RFM模型用户分析
RFM模型 根据美国数据库营销研究所Arthur Hughes的研究,客户数据库中有3个神奇的要素,这3个要素构成了数据分析最好的指标: 最近一次消费 (Recency) 消费频率 (Frequenc ...
- SOM聚类与Voroni图在验证码字符分割中的应用
http://www.docin.com/p-1300981517.html SOM聚类与Voroni图在验证码字符分割中的应用
随机推荐
- Prime - 程序员的修养
求质数算法的N种境界 求质数算法的N种境界[1] - 试除法和初级筛法 过程 尽管题目并没有要我们写一个最优的算法,但是身为一个程序员,优化应该是一种习惯,在编程的过程中,随着思考进行优化. 如果你只 ...
- Spring MVC执行的流程
1.Spring MVC应用的开发步骤 a.在web.xml文件中定义前端控制器DispatcherServlet来拦截用户请求.由于Web应用是基于请求/响应架构的应用,所以 不管哪个MVC Web ...
- Centos系统下硬盘扩容
装好CentOS后,发现空间太小,怎样才能增加硬盘容量?那就是再建一个硬盘: 打开虚拟经济的设置添加硬盘 查看现有的磁盘空间 fdisk -l [root@localhost ~]# fdisk -l ...
- SpringMVC源码情操陶冶-AbstractUrlHandlerMapping
承接前文SpringMVC源码情操陶冶-AbstractHandlerMapping,前文主要讲解了如何获取handler处理对象,本文将针对beanName注册为handler对象作下解析 Abst ...
- 和spring cloud/boot 学习如何管理自己的组件
案例, 功能: 需要写一个往kafka上报数据的组建. 当组建启动时,需要建立如下资源: 1, 和kafka建立若干条连接 2, 启动一个线程池 3, 启动上报一个缓冲区 问题如下: 1, 如何在sp ...
- RAID知识总结[转]
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://815632410.blog.51cto.com/1544685/1394306 ...
- BZOJ 1815: [Shoi2006]color 有色图 [Polya DFS 重复合并]
传送门 题意: 染色图是无向完全图,且每条边可被染成k种颜色中的一种.两个染色图是同构的,当且仅当可以改变一个图的顶点的编号,使得两个染色图完全相同.问N个顶点,k种颜色,本质不同的染色图个数(模质数 ...
- pug新手学习
感觉自己有段时间没有跟新了,唉,只是一直找不到可以写的必要 其实我一直对pug特别感兴趣的,安装点我 记得全局安装pug和pug-cli就行了 在webstorm配环境记得在前面加-P a: img ...
- ------ 新春第一炮:阶乘算法性能分析与 double fault 蓝屏故障排查 Part I ------
-------------------------------------------------------------------------- 春节期间闲来无事想研究下算法,上机测试代码却遇到了 ...
- 企业Nginx+Keepalived双主架构案例实战
通过上一次课程的学习,我们知道Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢,我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装 ...