聚类分析案例(python聚类分析案例)

 2023-09-15  阅读 12  评论 0

摘要:今天给各位分享聚类分析案例的知识,其中也会对python聚类分析案例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!K-means聚类分析案例(二) 之前的笔记: 聚类介绍: 点这里 层次聚类分析案例(一):世界银行样本数据集 层次聚类分析案例(二):亚马逊雨林烧毁情况 层次聚类分析案例(三):基因聚类 K-means聚类分析案例(一)

今天给各位分享聚类分析案例的知识,其中也会对python聚类分析案例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

K-means聚类分析案例(二)

之前的笔记:

聚类介绍: 点这里

层次聚类分析案例(一):世界银行样本数据集

层次聚类分析案例(二):亚马逊雨林烧毁情况

层次聚类分析案例(三):基因聚类

K-means聚类分析案例(一)

K-means聚类案例(二)食品

我们所吃的食物中的营养成分可以根据它们在构建身体构成的作用来分类。这些营养元素可分为宏量营养元素和微量元素。一些宏量营养元素包括碳水化合物、蛋白质、脂肪,一些微量元素的例子是维生素、矿物质和水。

准备工作

让我们从准备数据开始。

第1步:收集和描述数据

为了应用k均值聚类,我们使用采自不同食物种类的数据集进行实验,其中包含了每种食物各自的能量(Energy)、蛋白质(Protein)、脂肪(Fat)、钙(Calcium)、铁(Iron)等含量。 数据获取

其中数值型变量如下:

Energy

Protein

Fat

Calcium

Iron

非数值型变量如下:

Food

具体实施步骤

以下为实现细节。

第2步:探索数据

载入cluster()库。

探索数据并理解数据变量间的关系。从导入名为foodstuffs.txt的文本文件开始,将其保存在food.energycontent数据框中。

head()函数返回向量、矩阵、表、数据框或函数的首尾部分。将food.energycontent数据框传入head()函数:

结果如下:

str()函数返回food.energycontent数据框的结构信息。结果简洁地显示了其内部结构。

str(food.energycontent)

结果如下:

第3步:转换数据

*** ly()函数执行了数据框和矩阵中逐个元素的数据变换。它返回一个向量、数组、链表,其中的值是通过应用一个函数到一个数组或矩阵的边缘。其中2代表了函数要应用的列下标。sd是标准差函数,用于这个数据框。

结果如下:

sweep()函数返回一个数组,从一个输入数组中清除一些统计信息。food.energycontent[,-1]作为一个数组传入。其中2代表了函数要应用的列下标。standard.deviation是需要被清除的统计信息。

结果如下:

第4步:聚类

kmeans()函数施行k均值聚类到数据矩阵上。数据矩阵foodergycnt.stddev被当作一个对象传入,该对象是一个数值型矩阵。centers=5代表初始的簇中心数量。iter.max=100代表最大的迭代轮数。因为簇数量由一个数字指定,nstart=25定义了随机被指定的组数量。

结果如下:

指定4个中心簇:

结果如下:

输出4个簇的聚类向量,结果如下:

接下来,输出4个聚类方案的聚类以及食品标签。

l *** ly()函数返回一个与X同样长度的链表:

结果如下:

第5步:可视化聚类结果

使用pair()函数生成一个散点图矩阵。

food.energycontent[,-1]通过给定一个矩阵或数据框的数值来提供点的坐标。

结果如下:

princomp()函数在给定数值型数据矩阵上进行主成分分析。该函数产生了非旋转的主成分分析结果。cor=T代表一个逻辑值,指明了计算需要使用相关矩阵。

par()函数整合多个绘图结果到一个统一的图中。s产生一个正方形绘图区域。

par(pty="s")

绘制这个聚类:

结果如下:

16.聚类分析

一。简单介绍

按照特征来分;

目的在于人士能够同一个类别内的个体之间具有较高的相似度,而不同的相似度,而不同类别 之间具有较大的差异性,

对变量进行聚类分析

并定制出使用与不同的类别的解决方案

我们为了合理的进行聚类,需要次用适当的额指标来衡量研究对象之间的练习紧密程度

常用的指标有距离和相似系数

相似系数--相关系数

托尼盖的聚类分析方法可能得到不同的分类结果,或者聚类分析方法但是所分析的便令不同,

对于聚类结果的合理性判断比较主观,只要类别内相似性类别建差异性都能得到合理的解释和判断,就认为聚类结果是可行的。但是这样可能会忽略掉一些小众的群体的存在

的道具类结果后,还必须结合行业特点和实际业务发展情况,对结果进行综合Fenix和有前瞻性的解读

------------

二。分析步骤

1.确定需要参数与聚类分析的变量

2.对数据进行标准化处理

3.选择聚类方法和类别的个数

4.聚类分析个数解读

2.1聚类方法

快速聚类(k-means cluster):也称k均值聚类,他是按照一定的方法选取一批聚类中心点,让个案向最近的聚类中心点聚集形成初始分类,然后按照最近距离原则调整不合理的分类,直到分类合理为止

系统聚类(HIerarchical Cluster):也称层次聚类,首先将参与聚类的个案(或变量)各视为一类,然后根据俩个类别之间的距离或相似性逐步合并,知道所有个案(或变量)合并为一个大类为止

二阶聚类:也称俩步聚类,一种智能聚类方法,分为俩个步骤1.预聚类,根据定义的最大了别数岁个案进行初步归类2.正式聚类:根据第一步中得到的初步归类进行在聚类并确定最终聚类的结果,并且在这一部中,会根据一定的统计标准确定聚类的类别数

-----------

三。案例分析

1.快速聚类分析

分析--分类--k-均值分类

将沟通的分,业务得分,领导能力得分变量移置变量中--员工ID移置个案标注依据

聚类树种可输入期望值,预计将员工分为3组,因此输入3

保存--勾选聚类成员--继续--k均值聚类分析对话框--继续--确定

1.2快速聚类分析解读:

01 初始聚类分析

3个数据作为快速聚类的初始位置

本例中分别选择了员工ID为1001 1012 1003三人作为初始聚类的初始位置

第二个输出结果是“迭代历史记录”该结果显示了本次快速聚类分析的一共迭代的次数。迭代的过程可以理解为每个类别与初始位置之间单位距离改变情况,当这个距离变动非常小的时候,迭代就完成了、本例中一共迭代了4次,初始位子最小是82.158

第三个输出结果:“最终聚类中心”,该最终聚类中心和初始聚类中心相比;在数值上发生了变化,说明通过迭代的计算过程,每个类别的位置都发生了偏移

第四个输出结果“每个聚类中心得个案项目”,如图10-9所示,该结果显示了每个类别中所包含的数据量,本例中类别1 

本案例中聚类1 包含了4 个员工

类别2 中包含了6个员工

类别三种包含了21个员工

数据文件中也新城了一个名为Qcl_1的变量,如下图所示,其中变量值表示每个案例所属的类别

应该讲这个分类结果和参与聚类分析的变量制作交叉表,计算元工各类别员工在沟通过,业务,领导三方面的各自的平均值,一遍了解每一类别员工的特征

3.计算交叉表

分析--表--定制表--将QCL_1拖动到右侧的列区域上,将沟通能力和也无能李得分领导得分这三个变量拖动大右侧(行)区域上,摘要统计中的汇总方式采用默认的平均值--确定

----------

二.交叉表

从交叉表中可以看出:

1.类别1的员工在各绩效评估指标的平均得分都比较低,可以认为是“工作表表现较弱”的组别

2.类别2 的员工在各级评估指标的平均分得分处于中间水平,则认为是“工作表现较强”的组别

3.类别3的员工在各绩效评估指标的平均分处于中间水平,则认为是“工作保险中等”的组别

-----------

三.系统聚类分析操作

分析--分类--系统聚类--系统聚类分析

将沟通能力,业务能力,领导能力得分移入变量--统计--

将解的范围调整到3-4--继续--图--勾谱系图--在冰柱图下方选择【无】--继续

系统聚类分析和快速聚类分析的第二个不同之处

1.谱系图:也称树状图,以树状的形式展现个案被分类的过程

2.冰柱图:以“X"的形式显示全部类别或指定类别的数的分类过程

在实际应用中,俩种图形选择其一种输出即可,但是从应用范围和可读性来看,谱系图更加直观

----

方法--(聚类分析:方法)--组件联结--瓦尔德法--组间联结--测量--平方欧氏距离--计数--卡方测量--平方欧式距离--转换值--一般用z得分--测量应选择区间想--平方欧式距离--z得分--按变量(每个变量进行标准化)-继续

----------

3.2 系统聚类分析结果解读

1.“个案处理摘要”:该结果主要提供了数据量,缺失值信息和测量方法,本例中,该表显示了21个,无确实个案,采用的测量方法为“平方欧式距离”

2.“集中计划”--聚类过程

第一步聚类是编号8 和21 的个案合并

第二步聚类是编号8和18的个案合并

3.”聚类成员“将所有个案对应的分类结果集中展示。实际上以结果已经心啊是在数据文件中,用clu3_1,clu4_1俩个变量表示(clu是系统局了我i的分类结果变量的前缀,后面的数字为类别数,下划线后免得数字为系统聚类分析结果保存的次数

4."谱系图“该图形能直观地表示出整个聚类的全过程,另外分类姐果用一个相对距离25 的刻度来表示,如果要看某一类别所包含的数据,只要从上面王下切,划过几条横线,对应的个案就分了几类

如果要看2个类别的分组结果,只需要藏刻度为20的地方往下切,第一组编号:8-12,第二组:5-16

------

3.3继续将分类结构和参与聚类分析的变量制作交叉表,计算各个类别元共公共在沟通,业务,领导三方面呢能李的平均值,一边了解每一类别员工的特征,此外,还要显示出一类别所包含的个案数

分析--描述统计--频率-将clu3_1clu4_1 拖到右侧的变量区域上

显示分类结果和三个变量的交叉表,单机分析--表--定制表--将clu3_1和clu4_1 移入列变量中,将沟通能力,业务能力得分,领导能力得分移入行中--生成交叉表

从频率表可知clu3的类别2和clu4的类别2,clu3的类别3,clu3的类别4的人数一致

clu3与clu4的区别在于,clu4的类别1和类别4 合起来就是clu3的类别1

从交叉表结合频率表可知

1)clu3的类别2和clu4的类别2为同一批员工,业务能李得分是最高的,也就是说,这一类的员工也无能力很强,但是另外俩个能力较为薄弱

2)clu3的类别2分值整体较高,属于表现良好的员工,此类个指标分支均较低,可以认为这一类的员工整体能力较差

3)clu3的类别2分支整体较高,属于表现良好的一批员工,而clu4将其细分为呢能力优秀的类别2 和能力一般的类别3

----------

二阶聚类分析

分析--分类--二阶聚类--二阶聚类分析--将学历/性别变量一致【分类变量框中】--将沟通能力得分,业务能力得分,领导能力得分三个变量移至连续变量中--输出--二阶聚类:输出--勾选输出下面的透视表,工作数据文件下的【创建聚类了成员变量】--继续--确定

二阶聚类会自动分析并输出最有聚类数

层次聚类分析案例(三)

之前的笔记:

聚类介绍: 点这里

层次聚类分析案例(一)

层次聚类分析案例(二)

获取全基因组表达数据的能力是一项计算复杂度非常高的任务。由于人脑的局限性,是无法解决这个问题。但是,通过将基因分类进数量较少的类别后再进行分析,就能将基因数据加工到更易理解的水平。

聚类的目标是将一组基因进行划分,使相似的基因落入同一个簇,同时不相似的基因落入不同的簇。这里需要考虑的关键问题是如何定义相似性,以及处理已分类基因。这里我们使用两种基因类型的感光性来探索基因聚类问题。

准备工作

为了进行层次聚类,我们使用从实验鼠身上采集的数据集。

第1步:收集和描述数据

该任务使用名为GSE4051_data和GSE4051_design的数据集。该数据集以标准格式存储在名为GSE4051_data.csv和GSE4051_design.csv的CSV格式的文件中。数据获取路径: 在这里

GSE4051_data数据集包含29949行数据和39个变量。数值型变量如下:

GSE4051_design数据集包含39行数据和4个变量。数值型变量是:sidNum

非数值型变量是:sidChar;devStage;gType;

具体实施步骤以下为实现细节。

第2步:探索数据

RColorBrewer包是一个R包,可从 获取,它提供地图和其他图形的彩色模板。

pvclust包用来实现非确定性的层次聚类分析。在层次聚类中,每个簇通过多尺度有放回抽样计算p值。一个簇的p值在0~1之间。p值有两种类型:近似无偏( *** roximately unbiased,AU)和有放回概率(bootstrap probability,BP)值。AU p值通过多尺度有放回采样方法计算,经典的有放回采样方法用来计算BP p值。AU p值相比BP p值存在优效性偏见。

xtable包可以生成LaTeX格式的表格。使用xtable可以将特定的R对象转换成xtables。这些xtables能够以LaTeX或HTML的格式输出。

plyr包被用来进行分置合并(split- *** ly-combine,SAC)过程。它将一个大的问题切分成易处理的小块,在每个小块上进行操作,然后将所有小块合并起来。

载入以下包:

让我们探索并理解变量间的关系。从导入名为GSE4051_data.csv的CSV文件开始。我们将该文件数据存储到GSE4051_data数据框中:

接下来,输出GSE4051_data数据框的信息。str()函数返回GSE4051_data的结构信息。它简略显示了GSE4051_data数据框的内部结构。max.level指明了为了显示网状结构的最大等级。

结果如下:

下面,我们导入名为GSE4051_design.csv的CSV文件,将其数据保存到GSE4051_design数据框中:

输出GSE4051_design数据框的内部结构。

结果如下:

第3步:转换数据

为了便于后续的可视化阶段,需要对每一行数据进行拉伸操作。这是由于在目前的要求下,不同基因表达之间存在绝对值的差距,因此需要对每一行数据进行拉伸。

中心化变量和创建z值是两个常见的数据分析方法。scale函数中心化并拉伸数值型矩阵的列。

变换矩阵。传入GSE4051_data数据框用t()函数进行数据框变换。

接下来,我们输出GSE4051_data数据框的信息。通过设置give.attr=FALSE,次级结构的属性不会被显示。

结果如下:

round()函数用于舍入到最接近的整数。语法形式只有1种:Y = round(X),这里的X可以是数,向量,矩阵,输出对应。

head()函数返回一个向量、矩阵、表、数据框或函数的头部。GSE4051_data和trans_GSE4051_data数据框被当作对象传入。rowMeans()函数计算每列的平均值。data.frame()函数创建数据框耦合变量集合,并且共享许多指标的性质:

结果如下:

第4步:训练模型

接下来是训练模型。第一步是计算距离矩阵。dist()函数用来计算并返回距离矩阵,可以使用特定的距离度量方法来计算数据矩阵中各行间的距离。这里可使用的距离度量方法有欧式距离、最大距离、曼哈顿距离、堪培拉距离、二进制距离,或闵可夫斯基距离。这里使用欧式距离。欧式距离计算两个向量间的距离公式为sqrt(sum((x_i-y_i)^2))。转换后的trans_GSE4051_data数据框被用来计算距离。结果存储在pair_dist_GSE4051_data数据框中。

接下来,使用interaction()函数计算并返回gType、devStage变量间相互作用的无序因子。无序因子的结果连同GSE4051_design数据框一同被传入with()函数。该函数计算产生一个新的因子代表gType、devStage变量的相互作用:

summary()函数用来生成GSE4051_design$group数据框的结果总结:

结果如下:

下面,使用多种不同的联合类型计算层次聚类。

使用hclust()函数对n个不同对象进行聚类分析。第一个阶段,每个对象被指派给自己的簇。算法在每个阶段迭代聚合两个最相似的簇。持续该过程直到只剩一个单独的簇。hclust()函数要求我们以距离矩阵的形式提供数据。pair_dist_GSE4051_data数据框被传入。

在第一个例子中使用single聚类方法:

结果如下:

在第二个例子中使用complete聚集方法。

调用pr.hc.complete的结果是显示所使用的聚集方法、距离计算方法和对象数量:

结果如下:

在第三个例子中使用 *** erage聚类方法:

调用pr.hc.complete的结果是显示所使用的聚集方法、距离计算方法和对象数量:

结果如下:

在第四个例子中使用ward聚类方法:

pr.hc.ward的调用结果是显示所使用的聚集方法、距离计算方法和对象数量:

结果如下:

plot()函数是绘制R对象的通用函数。

第一次调用plot()函数,传递pr.hc.single数据框作为输入对象:

结果如下:

第二次调用plot()函数,传入pr.hc.complete数据框作为输入对象:

结果如下:

第三次调用plot()函数,传入pr.hc. *** erage数据框作为输入对象:

结果如下:

第四次调用plot()函数,传入pr.hc.ward数据框作为输入对象:

结果如下:

第5步:绘制模型

plot()函数是绘制R对象的通用函数。这里,plot()函数用来绘制系统树图。

rect.hclust()函数强调不同的簇,并在系统树图的枝干上绘制长方形。系统树图首先在某个等级上被剪切,之后在选定的枝干上绘制长方形。

RColorBrewer使用从 获得的包来选择绘制R图像的颜色模板。

颜色分为三组:

最重要的一个RColorBrewer函数是brewer.pal()。通过向该函数传入颜色的数量和配色的名字,可以从display.brewer.all()函数中选择一个配色方案。

在第一个例子中,pr.hc.single作为一个对象传入plot()函数:

结果如下:

下面创建热度图,使用single聚集方法。heatmap()函数默认使用euclidean聚集方法:

结果如下:

在第二例子中,pr.hc.complete作为对象传入plot()函数:

结果如下:

下面使用complete聚集方法创建热度图:

结果如下:

在第三个例子中,pr.hc. *** erage作为对象传入plot()函数:

结果如下:

下面创建 *** erage聚集方法的热度图:

结果如下:

在第四个例子中,pr.hc.ward作为对象传入plot()函数:

结果如下:

下面绘制ward聚集方法的热度图:

结果如下:

K-means聚类分析案例(一)

之前的笔记:

聚类介绍: 点这里

层次聚类分析案例(一):世界银行样本数据集

层次聚类分析案例(二):亚马逊雨林烧毁情况

层次聚类分析案例(三):基因聚类

食品消费模式是医学和营养学领域关注的一大热点。食物消费与个人的整体健康、食物的营养价值、购买食品的经济性和消费环境有关。这项分析涉及25个欧洲国家肉类和其他食品之间的关系。观察肉类和其他食品的相关性是很有意思的。这些数据包括:红肉、白肉、蛋类、牛奶、鱼类、谷类、淀粉类食品、坚果(包括豆类和油籽)、水果和蔬菜。

准备工作

为了应用k均值聚类,我们使用欧洲25个国家的蛋白质消费量数据集。

第1步:收集和描述数据

该任务使用名为protein的数据集,该数据集以标准格式存储在CSV格式的文件中,其中包含25行数据和10个变量。 数据获取路径

数值型变量如下:

RedMeat

WhiteMeat

Eggs

Milk

Fish

Cereals

Starch

Nuts

FrVeg

非数值型变量如下:

Country

具体实施步骤

以下为实现细节。

第2步:探索数据

让我们探索数据并理解变量间的关系。从导入名为Europenaprotein.csv的CSV文件开始,将该数据保存到protein数据框:

head()函数返回了一个向量、矩阵、表、数据框或函数首或尾的部分。将protein数据框传入head()函数。

结果如下:

第3步:聚类

开始在三个簇的基础上进行聚类。为了在初始阶段产生随机的簇数量,调用set.seed()函数。set.seed()函数能够产生随机数。

kmeans()函数能够在数据矩阵上执行k均值聚类。protein数据矩阵被当作一个对象传入该函数,该对象必须是数值型矩阵。centers=3代表初始化簇中心数量。因为簇的数量由一个数字指定,nstart=10定义了随机被选择的中心数。

结果如下:

接下来,生成簇指派列表。order()函数返回一个序列,以升序或者降序重新生成它的第一个参数。groupMeat数据框被当作一个数据框对象传入:

调用data.frame()函数,显示了国家和这些国家所处的簇:

结果如下:

plot()函数是一个绘制R对象的通用函数。参数类型指明了要被显示的图的种类。xlim参数的意思是参数应该被给定范围的边界,而不是一个范围。xlab和ylab提供了x轴和y轴各自的标题:

结果如下:

第4步:改进模型

接下来,在所有9个蛋白质组上进行聚类,并且7个簇已经被创建了。在散点图上不同颜色的点代表了吃白肉和红肉的国家。地理上临近的国家倾向于分到同一组。

center=7代表初始的聚类中心数量:

7个不同的聚类形成了。25个国家都一一被分配到了某一个簇中。

结果如下:

clustplot()函数创造了一个二变量的图,其中可以看到数据的可视化划分。所有观测值使用主成分以点的方式表示。在每个簇周围绘制椭圆形。protein数据框被当作对象传入:

结果如下:

另一个层次化形式展现的方法如下。这里使用agnes()函数。通过设置diss=FALSE,不相似度矩阵被用来计算原始数据。metric="euclidean"表明使用欧氏距离进行计算:

结果如下:

plot()画出图形:按回车可查看下一章图,共两张图。

结果如下:

cutree()函数切割树到几个组中,通过设定期望的组数量或者切割的高度来进行划分:

结果如下:

结果如下:

层次聚类分析案例(一)

关于聚类分析的介绍,可参见本人之前的笔记: 聚类分析

案例一:世界银行样本数据集

创建世界银行的一个主要目标是对抗和消除贫困。在这个不断发展的世界中,世界银行持续的发展并精细地调整它的政策,已经帮助这个机构逐渐实现了消除贫困的目标。消除贫困的成果以下指标的改进衡量,这些指标包括健康、教育、卫生、基础设施以及其他需要用于改进穷人生活的服务。与此同时,发展成果必须保证以一种环保的、全社会的、经济可持续的方式达成。

准备工作

为了进行层次聚类,我们需要使用从世界银行收集的数据集。

第1步:收集和描述数据

该任务使用名为WBClust2013的数据集。该数据以标准格式存储在名为WBClust2013.csv的CSV格式的文件中。其有80行数据和14个变量。 点我获取数据

第一列Country为非数值型变量,其他列均为数值型变量。

第2步:探索数据

让我们探索数据并理解变量间的关系。我们通过导入名为WBClust2013.csv的CSV文件开始。存储数据到wbclust数据框中:

下一步输出wbclust数据框,head()函数返回wbclust数据框。wbclust数据框作为一个输入参数传入:

结果如下:

第3步:转换数据

中心化变量和创建z值是两个常见的用于归一化数据的数据分析手段。上面提到的数值型变量需要创建z值。scale()函数是一个通用的函数,其默认方法中心化并比例缩放一个数值化矩阵的列。数据框wbclust被传给该比例函数。只有数据框中数值化的变量会被缩放。结果存储在wbnorm数据框中。

结果如下:

所有的数据框都有rownames属性。rownames()函数用来获取或设置矩阵类变量的行名或列名。数据框wbclust以及第一列被传递给rownames()函数。

调用rownames(wbnorm)方法显示第一列的数值。结果如下:

第4步:训练并评估模型效果

下一步是训练模型。首先使用dist()函数计算距离矩阵。使用特定的距离度量方法计算数据矩阵行间的距离。使用的距离度量可以是欧式距离、最大距离、曼哈顿距离、堪培拉距离、二进制距离,或闵可夫斯基距离。这里的距离度量使用欧式距离。使用欧式距离计算两个向量间的距离为sqrt(sum((x_i-y_i)^2))。结果被存储在一个新的数据框dist1中。

下一步是使用Ward方法进行聚类。hclust()函数对一组不同的n个对象进行聚类分析。第一阶段,每个对象被指派给它自己的簇。之后每个阶段,算法迭代聚合两个最相似的簇。这个过程不断持续直到只剩一个簇。hclust()函数要求我们以距离矩阵的形式提供数据。dist1数据框被作为输入传入。默认使用全链接算法。此外还可以使用不同的聚集方法,包括ward.D、ward.D2、single、complete和 *** erage。

输入clust1命令可显示所使用的聚集方法,计算距离的方法,以及数据对象的数量。结果如下:

第5步:绘制模型

plot()函数是一个通用的绘制R语言对象的函数。这里plot()函数用来绘制系统树图:

结果如下:

rect.hclust()函数强调不同的簇,并在系统树图的枝干处绘制长方形。系统树图首先在某个等级上被剪切,之后在选定的枝干上绘制长方形。

clust1对象以及需要形成的簇的数量作为输入变量传入函数。

结果如下:

cuts()函数基于期望的簇数量或者切割高度将树中的元素切割到不同的簇中。这里,clust1对象以及需要形成的簇的数量作为输入变量传入函数。

结果如下:

得到每个簇的国家列表:

结果如下:

SPSS实操4:聚类分析

我们有时需要对一波总体样本进行分群,从而更好地了解群体之间的差异,通过聚类分析可以帮助我们解决这个问题。聚类分析在市场细分、人群细分等方面可以给我们很多启发。

聚类分析在SPSS中分为系统聚类、K聚类及两步聚类。

从区别上看,系统聚类、K聚类主要针对的是计量资料,而两步具备可同时对计量资料、计数资料进行处理。

尽管在日常工作涉及的问卷中,计数资料涉及得较少,但从结果解读方面,仍然是两步聚类的解读更为直观。

以两步聚类为例,我们来看一个案例:

经过本篇文章学习,您能够对问卷数据做以下分析:

①对总样本进行聚类

②筛选满足不同条件的个案进行进一步分析(选择个案)

TIPS:在两步聚类前,一定要先清洗数据,因跳转题而出现的-3值,要全部清除掉之后再进行聚类操作

1.分析-分类-两步聚类

2.将可能影响到人群细分结果的变量选入分类变量中

连续变量在本次问卷题目中未涉及,因此不选

这一步的变量选择在不确定的情况下,可能需要多次聚类验证,一定要选择聚类效果更佳的那几个变量

这里已经根据更佳效果选择好了相关变量

3.选项-操作默认

若涉及到连续变量,在【要标准化的变量】中,将出现连续变量

这里未涉及连续变量,因此这里未显示任何变量

4.输出

勾选上方的图表和表格、创建聚类成员变量

5.确定

6.结果解读

首先会出现一个简单的图,先来看一下这个图

显示我们输入了8个相关变量,聚类为5类

我们本次预测质量处在【良好】区间(这一步可多试几个变量,选择预测质量更好度的那次即可)

双击这张图,会出现2个视图框

左侧还是刚刚的图,右侧则出现了本次5种聚类在总样本的占比情况

请注意,现在左侧视图默认在【模型概要】

我们现在选择【聚类】,会根据预测变量重要性出现一张渐变颜色的表格

逐一选择5个聚类所在的列,右侧选择【单元分布】,会显示聚类比较的结果

回到数据视图中,原表格中最后一新增了一列TSC,显示的数值则是根据本次聚类,每个人对应在哪个分类的结果。

7.想要详细了解各个细分人群在其他变量上的特征,我们根据【选择个案】进行具体分析

数据-选择个案

如果条件满足(先以第1类举例)

TSC列中的数据为1,我们会将第1类人群全部筛选出来,可以针对这个人群做更为具体的分析

点击继续,点击确定

分析具体的人群特点,可以通过描述【描述统计】得到

将这个过程重复5遍,我们就可以知道每个人群的人群特点分别是怎么样的,再对这些细分人群进行命名,就实现了对一波样本进行人群细分的操作。

聚类分析案例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python聚类分析案例、聚类分析案例的信息别忘了在本站进行查找喔。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://www.sast-sy.com/ea205Bj0FAAZXVgw.html

标签:案例分析

发表评论:

管理员

  • 内容1434378
  • 积分0
  • 金币0

Copyright © 2022 四叶百科网 Inc. 保留所有权利。 Powered by ZFCMS 1.1.2

页面耗时0.0534秒, 内存占用1.78 MB, 访问数据库18次

粤ICP备21035477号