K均值聚类分析流程

news2024/11/20 7:03:06

K均值聚类分析流程

一、案例背景

在某体育赛事中,意大利、韩国、罗马尼亚、法国、中国、美国、俄罗斯七个国家的裁判对300名运动员进行评分,现在想要通过评分上的差异将300名选手进行分类,计划将选手分为高水平、中水平、低水平三个类别。因为评分均为定量数据,所以通过K均值聚类进行聚类分析,部分数据如下:

二、异常值检查

异常值对于聚类分析的结果影响比较大,所以在分析之前要先进行异常值的检查。异常值检查的方法有很多种,比如可以使用描述统计法,查看是否有三倍标准差外的数据,或者使用箱线图,直观查看是否存在异常值,本案例使用SPSSAU箱线图进行异常值检查,输出结果如下:

从箱线图分析结果来看,7个裁判的评分均没有异常值出现,都在规定范围之内(最低7分,最高10分),可以进行接下来的K均值聚类分析。

三、K均值聚类分析

K均值聚类是现在比较常用的聚类算法之一,接下来分别对该方法的原理和操作进行简单的说明,帮助大家更好的理解聚类分析的过程。

(1)基本说明

K均值聚类也称K-means聚类,是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。因为需要计算距离,所以决定了K-means算法只能处理数值型数据,而不能处理分类属性型数据。

K均值聚类分析算法步骤:

① K-means算法首先需要选择K个初始化聚类中心

② 计算每个数据对象到K个初始化聚类中心的距离,将数据对象分到距离聚类中心最近的那个数据集中,当所有数据对象都划分以后,就形成了K个数据集(即K个簇)

③ 接下来重新计算每个簇的数据对象的均值,将均值作为新的聚类中心

④ 最后计算每个数据对象到新的K个初始化聚类中心的距离,重新划分

⑤ 每次划分以后,都需要重新计算初始化聚类中心,一直重复这个过程,直到所有的数据对象无法更新到其他的数据集中。

(2)操作

在SPSSAU系统中,以上算法步骤都自动进行,只需要分析人员将数据拖拽到分析框中,选择聚类数量即可,如下图:

通常情况下,建议聚类个数为3~6个比较好,SPSSAU默认聚类个数为3,本案例,预设将300名选手分为高、中、低3个类别,所以选择默认聚类个数3即可。因为K均值聚类是根据距离进行类别判断,所以需要消除量纲(单位)的影响,SPSSAU系统默认对聚类数据进行【标准化】处理,如果不需要进行标准化处理,可以选择取消勾选。同时SPSSAU默认【保存类别】,将聚类结束后,聚类的类别变量自动保存下来,用于后续分析。

四、聚类分析结果解读

K均值聚类分析(以下简称聚类分析)结果可以从以下几个方面进行分析:聚类基本情况、聚类类别命名、聚类中心、聚类效果图示化;接下来将逐个进行说明。

(1)聚类基本情况

SPSSAU输出聚类类别基本情况汇总表如下:

上表描述了聚类分析的基本情况,展示了本次聚类分析共得出3类,SPSSAU自动命名为cluster_1、cluster_2、cluster_3;同时展示每个类别人群数量和比例情况。这3类群体的占比分别是34.00%,、36.00%、 30.00%。整体来看,3类人群分布较为均匀,整体说明聚类效果较好。SPSSAU同时会输出聚类类别汇总图,方便分析人员更加直观的展示聚类类别占比情况。

(2)聚类类别命名

得到聚类结果后,需要根据各个聚类类别的特征进行类别命名。

为了得到各个类别之间的差异,使用方差分析进行聚类类别的差异对比分析,然后根据各个类别的差异性特征进行聚类类别的命名。

从上表聚类类别方差分析差异对比结果来看,7个裁判对于3个类别的评分之间均存在差异性(p<0.05),说明聚类分析得到的3个群体他们在研究的特征上具有明显的差异性,也能从一定程度上说明本次聚类分析效果较好。3个聚类类别的具体差异性可通过评分的平均值进行对比,并对聚类类别进行命名。

从3个类别的评分平均值来看,结合前面预设将300名选手分为高水平、中水平、低水平3类,故将cluster_1命名为低水平、cluster_2命名为中水平、cluster_3命名为高水平。SPSSAU可使用数据处理中的【数据标签】功能,进行命名,操作如下:

(3)聚类中心

前面我们通俗介绍了K均值聚类分析的聚类过程,提到初始聚类中心,在迭代过程中最后会成为最终聚类中心点,这个结果SPSSAU也为大家提供了,见下表:

聚类中心是聚类算法的数学理论或中间过程指标,针对分析来看其实际意义较小。一般来讲相较于聚类中心,K均值聚类更关注误差平方和SSE值。该值可用于测量各点与中心点的距离情况,理论上是希望越小越好,通常用于辅助判断聚类个数。如果在开始分析之初,不确定聚类个数,那么可以多次分析选择不同聚类个数,对比分析SSE值,比如发现从3个聚类个数到4个聚类个数时SSE值减少幅度明显很大,那么此时选择4个聚类类个数较好。但聚类类别并不是越多越好,还需要结合专业知识进行判断。

(4)聚类效果可视化

除了使用表格展示聚类分析的结果,还可以通过图示化展示聚类项重要性,如下图:

聚类分析以多个研究指标作为基准,对样本进行分类。每个指标对于聚类的贡献不一样, 具体贡献大小对比可见上图。如果某项的贡献明显非常低,可考虑将该项移除后重新进行聚类分析。

可以通过使用散点图直观展示聚类效果,使用任意两个聚类指标进行散点图绘制,并且在颜色区分(定类)框中放入“聚类类别”项(SPSSAU自动保存的聚类类别),以查看不同类别时,两两指标的散点效果。SPSSAU操作如下:

比如使用罗纳尼亚和韩国进行散点图绘制,在颜色区分框中放入聚类类别,SPSSAU输出散点图如下:

从上图来看,3个类别之间虽然有些部分存在交叉,但是绝大部分类别的划分都有明显的区别,说明本次聚类分析效果较好。

五、总结

首先使用箱线图对数据进行异常值检查,确保不存在异常数据后,进行K均值聚类分析。通过7位裁判的打分,将300位选手最终划分为高水平、中水平、低水平3类。从聚类分析基本情况、聚类类别方差分析差异对比结果以及聚类效果散点图分析来看,本次聚类分析效果较好,聚类结果比较可靠。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/418763.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity2D 商业游戏案例 - 梦幻西游(第二季 框架设计篇)

00 网址 来源 siki学院的&#xff08;1年有限期到期前下载的项目&#xff0c;现在已经过期&#xff0c;所以自己理清项目&#xff09; 所以更多的不是学习这个项目&#xff0c;而是学习理清该类型的项目的思路 Unity2D 商业游戏案例 - 梦幻西游&#xff08;第二季 框架设计篇&…

python+vue 在线考试系统的设计与实现

1.用户登录 用户要通过本系统查询对课程信息进行下载&#xff0c;必须先输入用户名和密码进行登陆。为了避免非其他人员都可以获得登陆权限&#xff0c;登陆系统不设注册过程&#xff0c;所有用户和教师的登陆信息将事先由管理人员直接对数据库进行录入。 2.教师 教师登录系统后…

【排序】排序这样写才对Ⅱ -冒泡排序与快速排序Ⅰ

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

【Spring6】| Spring6整合JUnit

目录 一&#xff1a;Spring6整合JUnit 1. Spring对JUnit4的支持 2. Spring对JUnit5的支持 一&#xff1a;Spring6整合JUnit 1. Spring对JUnit4的支持 准备工作&#xff1a;pom.xml 注&#xff1a;以前是直接使用单元测试Junit&#xff0c;现在使用Spring对Junit的整合&…

快递电子运单上,电话应隐藏6位以上,禁止显示这些信息

我国快递年业务量达千亿件&#xff0c;快递电子运单是应用于快递外包装的重要单据&#xff0c;每年耗用量很大。在强化个人信息保护方面&#xff0c;《快递电子运单》国家标准要求快递企业、电商经营主体等采取措施&#xff0c;避免在电子运单上显示完整的收寄件人个人信息。 …

【机器学习】P14 Tensorflow 使用指南 Dense Sequential Tensorflow 实现

Tensorflow 第一节&#xff1a;使用指南Tensorflow 安装神经网络一些基本概念隐藏层和输出层&#xff1a;神经元的输出公式Tensorflow 全连接层 Dense 与 顺序模型 SequentialDense LayerSequential Model代码实现一个神经网络实现方式一&#xff1a;手写神经网络* 实现方式二&…

JavaScript基础入门全解析(上)

JavaScript基础语法 什么是JavaScript&#xff08;简称js&#xff09; 1.首先了解前端页面的组成&#xff08;前端页面的三层结构&#xff09; ●HTML 表示了你的页面内有什么&#xff0c;组成页面的骨架 &#xff08;结构层&#xff09; ●CSS 表示了你的页面中每一个内容是…

Linux系统中安装新版本nacos(centos7)

1. 背景需求 由于一些限制,在客户现场的Linux操作系统中,没有安装docker k8s等容器,无法直接使用镜像安装,而且客户要求只能在原始的操作系统中安装最新版的nacos,(为什么需要安装最新版的nacos,因为检测国网检测到之前版本的nacos有漏洞,需要安装新版的nacos). 2. 下载nacos…

Windows10+Cmake+VS2019编译opencv

主要参考&#xff1a;Windows10CmakeVS2019编译opencv&#xff08;超级详细&#xff09;_vs编译opencv_乐安世家的博客-CSDN博客 OpenCV&#xff1a;Releases - OpenCV 想直接简单使用的话&#xff0c;不需要自己编译&#xff0c;下载编译好的就可以 假如需要用到opencv-contr…

【Python入门第四十九天】Python丨NumPy 数组拆分

拆分 NumPy 数组 拆分是连接的反向操作。 连接&#xff08;Joining&#xff09;是将多个数组合并为一个&#xff0c;拆分&#xff08;Spliting&#xff09;将一个数组拆分为多个。 我们使用 array_split() 分割数组&#xff0c;将要分割的数组和分割数传递给它。 实例 将数…

Docker教程:如何将Helix QAC创建为一个容器并运行?

在这个Docker教程中&#xff0c;你将了解到如何将Helix QAC创建为一个容器化的镜像并运行。 Docker的基本定义是一个开源且流行的操作系统级虚拟化&#xff08;通常称为“容器化”&#xff09;技术&#xff0c;它是轻量级且可移植的&#xff0c;主要在Linux和Windows上运行。D…

Linux主机 SSH 通过密钥登录

我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是&#xff0c;一般的密码方式登录&#xff0c;容易有密码被暴力破解的问题。所以&#xff0c;一般我们会将 SSH 的端口设置为默认的 22 以外的端口&#xff0c;或者禁用 root 账户登录。其实&#xff0c;有一个更…

换电脑 NoteExpress 数据备份迁移

前言 主要操作是跟着这篇博客做的&#xff1a;NoteExpress数据库备份和转移。但也有一些不一样的地方 旧电脑NoteExpress(NE)版本3.7&#xff0c;新电脑版本3.8 旧电脑 导出配置文件 桌面找到图标&#xff0c;打开位置&#xff0c;点击配置备份&#xff08;绿色的图标&#…

水库安全运行智慧管理平台解决方案筑牢防汛“安全墙”

解决方案 水库安全运行智慧管理系统解决方案&#xff0c;系统主要由降雨量监测站、水库水位监测站、大坝安全监测中的渗流量、渗流压力和变形监测站及视频和图像监测站等站点组成&#xff0c;同时建立规范、统一的监测平台&#xff0c;集数据传输、信息共享、数据储存于一体&a…

图解HTTP阅读笔记:第4章 返回结果的HTTP状态码

《图解HTTP》第四章读书笔记 图解HTTP第4章&#xff1a;返回结果的HTTP状态码4.1 状态码告知从服务器端返回的请求结果4.2 2XX成功4.2.1 200 OK4.2.2 204 No Content4.2.3 206 Parital Content4.3 3XX重定向4.3.1 301 Moved Permanently4.3.2 302 Found4.3.3 303 See Other4.3.…

服务(第三篇)Apache配置与应用

httpd服务支持的虚拟主机类型包括以下三种: 1.基于域名&#xff1a;为每个虚拟主机使用不同的域名&#xff0c;但是其对应的 IP 地址是相同的。 2.基于IP地址&#xff1a;为每个虚拟主机使用不同的域名&#xff0c;且各自对应的IP地址也不相同。这种方式需要为服务器配备多个网…

Femto基站及其射频方案

关于部署3G femto基站 3GPP定义第三代移动通信的目的是要为客户提供全方位的移动多媒体体验。但很多条件下&#xff0c;这一目的并未实现&#xff0c;尤其是在边远地区或居民聚集区。 一个可行的解决方案是在家庭范围内部署无需宏node-B基站即可提供最大移动数据速率的家用基站…

26基于模型预测控制MPC的永磁同步电机MATLAB代码

资源地址&#xff1a; 基于模型预测控制&#xff08;MPC&#xff09;的永磁同步电机Matlab代码-电子商务文档类资源-CSDN文库 主要内容&#xff1a; 包含单电流环MPC仿真&#xff08;仅电流环使用MPC策略&#xff0c;速度环使用PI调节器&#xff09;、速度环和电流环MPC仿真…

C ++匿名函数:揭开C++ Lambda表达式的神秘面纱

潜意识编程&#xff1a;揭秘C Lambda表达式的神秘面纱 Subconscious Programming: Unveiling the Mystery of C Lambda Expressions 引言&#xff1a;Lambda表达式的魅力 (The Charm of C Lambda Expressions)Lambda表达式简介与基本概念 (Introduction and Basic Concepts of …

【Linux】浅析Input子系统

文章目录1. 框架1.1 数据结构1.2 evdev_handler1.3 evdev_init1.4 input_register_handler2. 应用如何打开节点并读取到事件数据2.1 evdev_fops2.2 evdev_open2.3 evdev_release2.4 evdev_read2.5 evdev_write2.6 evdev_poll2.7 evdev_fasync2.8 evdev_ioctl2.9 evdev_ioctl_co…