网站首页 > 技术文章 正文
对之前推送的两篇有关聚类分析的文章进行简单的回顾:
《K-mean聚类(快速聚类)》介绍了根据连续变量对个案进行聚类。
《系统聚类(针对变量的聚类)》介绍了对连续型数据的多个变量进行聚类。
但是如果用来聚类的变量有分类变量该如何处理呢?请看下面这个案例。如下图所示是临床诊断中,收集到的病人的一些人口特征数据和生化病理指标数据,想要根据这些数据,将病人分成不同的类别,该选用何种方法呢?
梳理该问题的处理需求:我们需要依据3个分类变量和3个连续型变量对个案进行聚类。回顾我们前面介绍的两种方法,K-mean聚类和系统聚类,它们都不能直接支持依据分类变量对个案进行聚类,看来需要引入新的方法,这个方法就是两步聚类法。
下面介绍一下两步聚类的步骤,有关两部聚类的原理和操作步骤演示,后面我会找时间做成视频课程放在网易云课堂上。
第一步:导入数据。选择分析<分类<两步聚类。
第二步:将分类变量和连续变量分别选入对应的变量框中。
(注意:两步聚类也可以只针对连续型变量进行聚类,此时距离测量方法选为“欧式距离”,就和前面介绍的k-mean聚类一样了。当有分类变量选入时,必须将距离测量方式选为“对数似然”,当然这也是系统强制的,你会发现“欧式”距离选项为灰色。另外系统默认对连续型变量进行标准化处理。)
第三步:设置完毕后,点击确定,得到如下图所示的模型结果。(是的,你没看错,直接输出的模型就是这样,意思是输入了6个变量,根据这6个变量,将所有病人个案分成了4类。聚类质量不是特别好,但是不算差了。)
第四步:阅读具体的模型结果。双击输出窗口中如上图所示的模型,会出现如下图所示窗口。用鼠标点击两个红色箭头指向的区域,可以浏览模型。
第五步:模型解释,单击左边的第二个类别(编号为2),会出现右边第2个类别具体的特征,表现为“高胆固醇”、“男性”、“正常血压”以及该组内的钠含量、年龄、钾含量的均值。
第六步:查看用于分类的变量的重要性。在右边的窗口中,通过点击鼠标到“预测变量重要性”来查看变量的重要性。如下图所示,最重要的是“胆固醇含量”,最不重要的是“钾含量”。对于不那么重要的变量,其实我们可以将它们去掉,不再用于聚类,读者朋友可以通过阅读原文下载数据进行练习。
通过上面的聚类过程,我们可以依据前三个重要的聚类依据(胆固醇、性别、血压)将病人分成4个类别:
本文参考张文彤《SPSS统计分析高级教程》
更加详细的操作讲解和原理分析,请期待2个月后的视频课程。如需练习,点击阅读原文下载数据。
猜你喜欢
- 2024-10-02 数学选择4解法,省时又提分,备考生必备
- 2024-10-02 Scratch之变量 scratch变量怎么讲
- 2024-10-02 西门子PLC | 博途FB入门篇,看这个就够了
- 2024-10-02 一文搞定神秘热图的读与做,超详细!
- 2024-10-02 一文读懂业务数据的分析思路 业务数据分析报告怎么做
- 2024-10-02 【VBA基础】变量的类型和申明变量类型的重要性
- 2024-10-02 从零开始学Java-003-选择控制语句
- 2024-10-02 Python Selenium 变量与选择器选择元素
- 2024-10-02 回归分析 之 一元线性回归 一元线性回归的主要步骤,和每个步骤的关键算法
- 2024-10-02 特征选择(Feature Selection)方法汇总
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)