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图在验证码字符分割中的应用
随机推荐
- fopen()函数参数
摘自百度百科.... 1."r" = "rt" 打开一个文本文件,文件必须存在,只允许读 2."r+" = "rt+&qu ...
- MUI 页面传值,因为用的是H5+ plus方法所以要在真机上才能测试出效果
页面a.html <!doctype html> <html> <head> <meta charset="UTF-8"> < ...
- 使用FileReader实现前端预览所选图片
需求描述 在浏览器环境下进开发网站(也就是B/S架构的应用),获取到当前设备上的图片后,希望可以在上传到服务器前简单预览一下图片内容. 具体实现 主要代码 html 部分 <input type ...
- BZOJ 1072: [SCOI2007]排列perm [DP 状压 排列组合]
题意:给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0) 100%的数据满足:s的长度不超过10, 1<=d<=1000, 1<=T<=15 看到整 ...
- Redis 学习(二) —— 数据类型及操作
Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...
- linear-grident的属性和使用
css3新增Gradient属性,用来增加渐变的效果,渐变分为线性渐变 linear-grident 和 径向渐变 radial-grident,这篇文章主要介绍线性渐变linear-grident ...
- 微信小程序模板发送,openid获取,以及api.weixin.qq.com不在合法域名内解决方法
主要内容在标题三,老手可直接跳到标题三. 本文主要解决个人开发者模板消息发送的问题(没有服务器,不能操作服务器的情况) 针对api.weinxin.qq.com不在以下合法域名列表内的问题提出的解决方 ...
- IDEA的Maven依赖如何引入到External Libraries中
现象 在Apollo项目中,遇到了一个问题.当在Module的pom.xml中引入依赖: <dependency> <groupId>com.ctrip.framework.a ...
- 从此不再担心键盘遮住输入框OC(
从此不再担心键盘遮住输入框OC(二) 字数544 阅读1492 评论15 喜欢25 在我发布这篇文章没多久之前,我发布了一篇叫 从此不再担心键盘遮住输入框OC(一)的文章.我在那篇文章中介绍了我的键盘 ...
- 在C#中几种常见数组复制方法的效率对比
原文是在http://blog.csdn.net/jiangzhanchang/article/details/9998229 看到的,本文在原文基础上增加了新的方法,并对多种数据类型做了更全面的对比 ...