市场研究中的数据分析知识整理 (三)-聚类分析

4 聚类分析

聚类和判别作为统计学习(通过拟合统计模型,从数据中学习)的分类之一,同样可以分为有监督式和无监督式。

市场研究中,聚类和判别更多适用有监督式。即目标对象的在营销活动后的反应已知,通过目标对象的特征和其他变量,来拟合出相应的群组分类模型,可称为聚类;将该模型和目标对象特征、其他变量等来预测新的一批目标对象的营销反应,可称为判别。

非监督式学习,也可用作不知道结果组,但通过数据杰哥的发掘,来获取其分组模式。

聚类分析的步骤:

  • 1、选择合适的变量。根据业务需求和对数据结构的理解,选取合适的聚类变量。
  • 2、对数据进行标准化。将不同变量的数据范围,使用scale()进行标准化,减少因不同变量单位差别造成的扰动。
  • 3、寻找异常点。对于很多基于距离的聚类方法而言,异常点会对分类造成很大影响。可通过outliers包中的outlier()来寻找异常点。
  • 4、选择聚类算法。根据数据结构和目的,选择一个或多个聚类方法。
    • hclust(系统聚类)和kmean(基于均值的聚类)是两个基于距离的聚类方法。其原理是寻找最小化的组内距离和最大化的组件距离。hclust()通过树状结构建模获得分组,kmean()使用中心定位的方法获得分组;
    • Mclust()(混合高斯分布)和poLCA()(潜在类分析)是两类基于模型的聚类方法。Mclust认为不同类别的观测有不同的分布样态,通过估计潜在的分布参数和混合比例,来确定观测的分组,mclust是基于正态分布的,也就意味着只适用于数值型的数据。poLCA()则是使用包含分类变量的浅层级模型。
  • 5、运用聚类方法,并存在聚类对象。在运用聚类方法过程中,需要根据不同的聚类方法,进行不同的准备,如基于聚类的方法hclust()需要事先计算相似度矩阵,才能运用观测分类,kmean()、poLCA()需要指定观测分组等等。
  • 6、解读聚类方案,根据业务使用聚类方案的特征。

数据输入


#本部分引入该数据作为案例,该案例是一个游乐园的满意度调查的相关数据
#cls <- read.csv("http://goo.gl/qw303p"")
cls_o <- read_csv("~/Desktop/Über R/Excesise/rintro-chapter5.csv")
head(cls_o)
cls <- cls_o[,-7]#cls_o数据集已预先有分类,在本案例中先将其剔除
str(cls)

这里写图片描述

这里写图片描述

hclust()


#hclust() 在使用之前,需要实现计算好距离矩阵
#一般使用的欧几米的距离(Euclidean)可用dist()函数实现,但该方法只适用于数值型变量;cluster包的daisy()则能处理混合数据类型。本案例是混合数据类型,故使用该函数计算距离。

#a 转换数据:需要将非数值变量转换成因子变量
cls$gender <- factor(cls$gender)
cls$ownHome <- factor(cls$ownHome)
cls$subscribe <- factor(cls$subscribe)
#b 计算距离,获得模型
library(cluster)
cls_dist <- daisy(cls)
cls_hc <- hclust(cls_dist, method = "complete")
#c 图形化显示分类结果谱系图,但该图因为数据量庞大导致无法实际使用
plot(cls_hc)
#d 切割谱系树。所以,可以进一步聚焦谱系图的某一部分,通过cut()来切分谱系图对象as.dendrogram(),在某一高度h=~,并选择特定分支$lower[[1]]
plot(cut(as.dendrogram(cls_hc),h = 0.4)$lower[[2]])

这里写图片描述

切割后的谱系图

这里写图片描述

#e 检查拟合优度。cophenetic是专门针对系统分类的检验系数,类似于r,CPCC > 0.7 说明你和强度强,意味着该模型能够较好的切分两棵树之间的距离
cor(cophenetic(cls_hc),cls_dist)
 >[1] 0.7682436

深挖系统聚类给出的类:

#f 对谱系图进行切割。根据plot(cls
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值