笔者寄语:一般情况下离群值不应该直接删除,应该进行筛选,然后进行专门的离群值分析。笔者在这进行一下思考,在聚类基础之上的一种离群点检验。

基于聚类的离群点检测的步骤如下:数据标准化——聚类——求每一类每一指标的均值点——每一类每一指标生成一个矩阵——计算欧式距离——画图判断。

1、数据聚类

利用RFM客户价值模型,进行SOM(自组织映射神经网络模型),可以参考笔者的博客。一般的聚类方式,比如K-mean均值是比较常用的聚类方法(可见笔者的其他博客——R语言︱异常值检验、离群点分析、异常值处理)。

当然聚类之前,需要进行数据标准化(scale函数)。

2、计算欧式距离

计算每一类人群的RFM三指标的均值。比如分成三类,计算三类指标的均值。

> km$centersR          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聚类︱离群值筛选问题相关推荐

  1. r型聚类典型指标_聚类与RFM模型 —— 从5月的一道腾讯数据分析面试题说起

    作者:稀饭 本文约2200字,建议阅读12分钟. 5月份的时候曾经投过腾讯的数据分析实习,中午投的简历,午觉睡醒就被call,没有HR通知,南山必胜客直接就来技术面.当时准备的还不够充分,半小时后就感 ...

  2. SPSS用KMEANS(K均值)、两阶段聚类、RFM模型在P2P网络金融研究借款人、出款人行为数据规律...

    全文下载链接:http://tecdat.cn/?p=27831 随着P2P网络金融平台的交易量的激增,其交易数据不能得到充分有效地利用.将聚类分析引入到P2P网络金融平台的管理之中,利用聚类分析技术 ...

  3. 电商用户价值分析——基于RFM模型、KMeans聚类

    电商用户价值分析--基于RFM模型.KMeans聚类 一.背景 二.RFM模型.KMeans聚类 三.分析框架 四.具体分析 1. 导入所需的库 2. 导入数据 3. 数据清洗 4. 数据分析 4.1 ...

  4. 快速找出高价值用户,3分钟学会RFM模型分析

    在众多的客户关系管理分析模式中,应用最广泛的就是RFM模型,它可以通过一个客户的近期购买行为.购买的频率以及花了多少钱三项指标来描述客户的价值情况. RFM模型用户分群是介于千人千面的个性化运营和未加 ...

  5. Python数据挖掘-RFM模型K-means聚类分析-航空公司客户价值分析

    使用教材:<Python数据分析与挖掘实战> 模型:RFM模型 算法:K-means聚类:其他方法还用到了层次聚类 数据:需要数据的可以评论里call. 内容: (1)案例: 航空公司客户 ...

  6. 使用ML.NET实现基于RFM模型的客户价值分析

    RFM模型 在众多的客户价值分析模型中,RFM模型是被广泛应用的,尤其在零售和企业服务领域堪称经典的分类手段.它的核心定义从基本的交易数据中来,借助恰当的聚类算法,反映出对客户较为直观的分类指示,对于 ...

  7. 数据挖掘应用案例:RFM模型分析与客户细分(转)

    正好刚帮某电信行业完成一个数据挖掘工作,其中的RFM模型还是有一定代表性,就再把数据挖掘RFM模型的建模思路细节与大家分享一下吧!手机充值业务是一项主要电信业务形式,客户的充值行为记录正好满足RFM模 ...

  8. 如何用 RFM 模型扒出 B 站优质 UP 主?| 附实战代码

    作者 | 远辰 责编 | 郭芮 不管前浪还是后浪,能够浪起来的才算是好浪. 相信大家最近都被号称"浪里白条"的b站刷了不止一次屏.这次咱们先不谈价值观,主要从数据的角度,扒一扒让b ...

  9. RFM模型及R语言实现

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 一.基本概念 根据美国数据库营销研究所Arth ...

最新文章

  1. Hybrid assembly with long and short reads improves discovery of gene family expansions
  2. Java并发编程 ReentrantLock 源码分析
  3. 【术语扫盲】CKD (全散件组装)
  4. TVS管选型详细流程
  5. 皮尔森残差_残差与标准化残差
  6. ANSYS 有限元分析 修改与编辑
  7. (四)Buffer 缓冲区
  8. Laravel版本更新异常4.2.8- 4.2.9 Declaration of ... CompilerEngine ... should be compa
  9. C语言刷题随记 —— 国际象棋棋盘
  10. 身体质量指数(BMI)是对体重的健康测量。它的值可以通过将体重(以公斤为单位)除以身高(以米为单位)的平方值得到。编写程序,提示用户输入体重(以公斤为单位)以及身高(以米为单位),然后显示BMI。
  11. 玩转f#的一个实例——解拼图游戏
  12. 关于梯度消失,梯度爆炸的问题
  13. WPF简单UI菜单设计
  14. Kotlin学习日志(三)控制语句
  15. window7取消文件默认打开方式的方法
  16. iphone文件app里无法连接服务器,苹果商店怎么打不开 无法连接到app store解决方法...
  17. 【STM32】两轮自平衡小车学习笔记1
  18. ssm+JSP计算机毕业设计果园管理系统2wbg5【源码、程序、数据库、部署】
  19. 文本分类半监督学习--UDA
  20. 年终报告 20PPPT模板

热门文章

  1. Spring MVC开发初体验
  2. spring boot开发环境搭建
  3. 调整Redmine的用户显示格式
  4. Java不支持创建范型数组分析
  5. cmake构建NNIE工程
  6. 通过DriverManager接口获取连接
  7. Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序
  8. 接口和一些抽象类的区别
  9. 一个前端er使用浏览器打印功能快速制作PDF简历
  10. 有意思的clip-path