数学建模学习笔记(14)聚类模型

news2024/11/24 5:33:33

聚类模型

    • K均值聚类算法和K均值++聚类算法
    • 系统聚类算法(层次聚类)
    • DBSCAN聚类算法

聚类问题概述:把样本划分为由相似的对象组成的多个类的过程。

K均值聚类算法和K均值++聚类算法

K均值聚类算法流程

  1. 指定需要划分的簇的个数K。
  2. 随机选择K个数据对象作为初始的聚类中心(不一定是样本点)。
  3. 计算其他的各个数据对象到这K个聚类中心的距离,把数据对象划分到距离它最近的它最近的中心所在的簇中;
  4. 调整新类并更新该簇的聚类中心。
  5. 循环过程三四,直到聚类中心收敛(不变)或达到最大迭代次数。

K均值算法的优点:算法简单且快速,对于大数据集该算法的效率是很高的。

K均值算法的缺点

  • 必须由使用者事先给出需要生产的簇的个数K;
  • 对初值非常敏感;
  • 对于孤立点数据敏感。

K均值++算法概述:K均值++算法是K均值算法的改进,只修改了初始化聚类中心的过程,可以避免K均值算法的后面两个缺点。

K均值++算法选择初始聚类中心的基本原则:初始聚类中心之间的相互距离要尽可能的远。

K均值++算法初始化聚类中心的过程

  1. 随机选择一个样本作为第一个聚类中心;
  2. 计算每个样本与当前已有聚类中心的最短距离,这个值越大,表示被选为下一个聚类中心的概率越大,最后用轮盘法选出下一个聚类中心。
  3. 重复上一个步骤直到选出K个聚类中心。

SPSS使用K均值++算法进行聚类的步骤

1.打开SPSS软件并导入数据,依次点击:分析→分类→K均值聚类

在这里插入图片描述

2.添加自变量和聚类的标签变量,并指定聚类生成的簇的个数(默认为2)

在这里插入图片描述

3.在“迭代”按钮菜单中可以调整最大迭代次数(迭代次数过少可能会影响聚类结果)

在这里插入图片描述

4.在“保存”按钮菜单中同时勾选聚类成员和与聚类中心的距离。

在这里插入图片描述

5.在“选项”按钮菜单中勾选初始聚类中心和每个个案的聚类信息。

在这里插入图片描述

SPSS进行K均值++聚类的结果分析

  • 初始聚类中心

在这里插入图片描述

  • 最终聚类中心

在这里插入图片描述

  • 最终聚类中心之间的距离

在这里插入图片描述

  • 每个聚类中的个案数目

在这里插入图片描述

  • 聚类结果

在这里插入图片描述

K均值聚类的簇个数如何确定:通常都会多取几个K值,看一看分为几个簇会更好解释。

K均值算法注意事项:K均值聚类使用之前需要对数据进行去量纲化处理,常使用标准化。

使用SPSS进行数据标准化的方法

1.依次点击:分析→描述统计→描述

在这里插入图片描述

2.选择需要进行标准化的属性,并勾选“将标准化值另存为变量”。

在这里插入图片描述

系统聚类算法(层次聚类)

样本间距离的常用类型

  • 曼哈顿距离(绝对值距离);
  • 欧氏距离;
  • 闵可夫斯基距离(曼哈顿距离和欧氏距离的推广);
  • 切比雪夫距离;
  • 马氏距离。

系统聚类法的算法流程

  1. 写出样本之间的距离矩阵。
  2. 将每一个样本视为一个类,将两两之间距离最小的两个样本聚成一类,更新这个类的聚类中心。并得到新的距离矩阵。
  3. 重复上述过程,直到最后只剩下一个簇。

谱系图:谱系图是系统聚类的结果,可以根据谱系图选择最合适的聚类个数。

注意事项:使用系统聚类之前也需要对数据进行去量纲化处理。

使用SPSS进行系统聚类的步骤

1.打开SPSS软件并导入数据,依次点击:分析→分类→系统聚类

在这里插入图片描述

2.导入自变量和分类依据变量。

在这里插入图片描述

3.在“图”按钮菜单中勾选谱系图。(冰柱图使用较少)

在这里插入图片描述

4.在“方法”按钮菜单中可以选择类与类之间的距离计算方式和点与点之间的距离计算方式。同时,如果原始数据量纲不统一,可以在左下方的转换值处对数据进行标准化。

在这里插入图片描述
5.通过“肘部法则”等方式确定聚类个数后,重新进行一次系统聚类过程。打开系统聚类窗体后打开“保存”按钮菜单,选择单个解,并输入解的个数。

在这里插入图片描述

SPSS进行系统聚类的结果

  • 谱系图
    在这里插入图片描述
  • 集中计划表:表格中的系数列经过倒序后可以用于绘制聚合系数折线图。
    在这里插入图片描述

聚合系数:所有样本点离各自的聚类中心距离的平方和,也称为聚合系数,聚类个数越多则聚合系数越小。

聚合系数折线图:聚合系数随着聚类个数变化情况的曲线图。

选择最佳聚类个数(肘部法则):选择在聚合系数折线图中下降趋势开始变缓且方便解释的点。

SPSS进行聚类结果图的绘制步骤

  • 注意事项:只有指标为二维或三维才能绘图,否则无法绘图,或者需要使用降维算法后再绘图。

1.依次点击:图形→图表构造器

在这里插入图片描述

2.在窗口下方选择 散点图与点图,并根据指标个数是两个还是三个选择第三种或第五种图形样式。

在这里插入图片描述

3.选择适当的散点图拖动到左上方,并设置横纵坐标。

在这里插入图片描述

4.在“设置颜色”处选择类别划分的依据为SPSS进行聚类的结果列。

在这里插入图片描述

5.在组/点ID标签下,勾选点ID标签。并用拖动的方式设置点标签变量。

在这里插入图片描述

6.双击进入绘图结果,可以修改坐标点的填充色,修改背景颜色,修改图例名称等。

在这里插入图片描述
在这里插入图片描述

DBSCAN聚类算法

DBSCAN算法特点

  • 聚类前不需要指定簇的个数,生成的簇的个数与数据本身的特点有关。
  • 可以在具有噪声的空间数据块中发现任意形状的簇,可以将密度足够大的相邻区域连接,能有效处理异常数据。

DBSCAN算法原理:要求聚类空间中的一定区域所包含对象的数目不小于某个给定的阈值。

DBSCAN算法中的三类数据点

  • 核心点:在半径内含有不少于指定阈值个数的其他点的点。
  • 边界点:不是核心点,但是在核心点的邻域内;
  • 噪音点:不是核心点且不是边界点的点。

DBSCAN算法优点

  • 可以处理任意形状和大小的簇;
  • 可以在聚类的过程中发现异常点;
  • 不需要指定簇的个数。

DBSCAN算法缺点

  • 对输入的参数非常敏感,确定参数困难;
  • 当聚类的密度不均匀时聚类效果差;
  • 当数据量大时,计算复杂度会非常高。

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

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

相关文章

【Redis | 黑马点评】商户查询缓存

文章目录什么是缓存?添加商户缓存缓存更新策略主动更新策略实现商铺查询的缓存与数据库双写一致缓存穿透问题的解决思路编码解决商品查询的缓存穿透问题缓存雪崩问题及解决思路缓存击穿问题及解决思路基于互斥锁的方式解决缓存击穿问题基于逻辑过期的方式解决缓存击…

初始网络编程

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.网络发展史 1.1 独立模式 1.2 网络互联 1.3 局…

一文全解决 数据库连接报错Communications link failure,create connection SQLException

具体报错如下: 解决思路: 当时看到数据库报错Communications link failure我就想到应该是数据库连接不上的问题,具体想了以下几种情况 1.数据库未连接 1.1过期了,mysql里有一个wait_timeout的值需要大于数据库连接池的最大超时时…

新来测试用一手Postman实现UI自动化测试拿下了大厂面试官

看到这篇文章的标题,是不是有小伙伴会感到惊讶呢? Postman不是做接口测试的吗?为什么还能做UI自动化测试呢? 其实,只要你了解Selenium的运行原理,就可以理解为什么Postman也能实现UI自动化测试了。 Sele…

Lua 错误处理

Lua 错误处理 参考至菜鸟教程。 程序运行中错误处理是必要的,在我们进行文件操作,数据转移及web service 调用过程中都会出现不可预期的错误。如果不注重错误信息的处理,就会造成信息泄露,程序无法运行等情况。 任何程序语言中&am…

Linux 权限变更操作失误,执行了 chmod -Rf 777 / 如何急救

昨天手贱,执行命令的时候输错了,结果输入了以下命令: chmod -Rf 777 /可想而知,得到的回报惊人哈哈,我现在之所以还笑的出来,是因为折腾了半天已经修复了这个问题了。 先来复盘一下问题解决的过程吧 错误…

华为交换机、路由器设备怎样配置console登录密码

华为交换机路由器设备怎样配置console密码 在对路由器交换机等网络进行管理中,为了安全起见经常需要为设备配置登录密码,尤其是使用串口线直连设备时。 console线路密码认证有两种方式:1,只配置password(密码&#x…

iTOP-RK3568开发板学习笔记(1)编译+烧录系统

迅为 RK3568 开发板学习笔记 文章目录准备开发环境复制 Linux SDK编译 Buildroot烧录固件准备开发环境 将 ITOP-RK3568 资料包中的虚拟机开发环境解压到自己的电脑上, 扩展虚拟机系统的硬盘大小,越大越好( SDK 太大了,后面有提及…

【C++】特殊类设计

​🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉设计一个…

第九层(7):STL之list

文章目录前情回顾list概念优缺点构造函数赋值函数交换函数容器和大小操作插入操作删除操作单个数据访问反转操作排序下一座石碑🎉welcome🎉 ✒️博主介绍:一名大一的智能制造专业学生,在学习C/C的路上会越走越远,后面不…

C++——map|set2

目录 map::operator[] [ ]的实现 multimap 习题 前K个高频单词 两个数组的交集 底层结构 pair有俩个成员一个是first,一个是second 由于pair有俩个模板参数,第一个是first,一个是second map的insert参数类型是valud_type,value_type就是pair …

PNG免抠素材网,免费商用,设计师赶紧马住。

本期分享设计师必备的免抠素材网站,建议收藏! 1、菜鸟图库 https://www.sucai999.com/searchlist/66008.html?vNTYwNDUx 网站主要分享设计类素材为主,有平面海报、UI素材、电商素材、免抠素材、背景图片等等。其中免抠元素数量就非常可观&a…

uniapp项目

目录 一、HBuilder创建项目 二、引入uView 2.1 npm方式安装 2.2 下载方式安装 三、小程序的分包 三、App.vue中的生命周期 四、工具封装 五、api接口请求封装 六、store 七、加载顺序 八、flex的使用 一、HBuilder创建项目 文件--新建--项目--默认模板--Vue2--创建 …

CRLFsuite:一款功能强大的CRLF注入扫描工具

关于CRLFsuite CRLFsuite是一款功能强大的CRLF注入扫描工具,在该工具的帮助下,广大研究人员可以轻松扫描和识别目标应用程序中的CRLF注入漏洞。 关于CRLF 回车换行(CRLF)注入攻击是一种当用户将CRLF字符插入到应用中而触发漏洞…

“华为杯”研究生数学建模竞赛2005年-【华为杯】A题:排队论模型解决出租车最佳数量预测(附获奖论文)

赛题描述 A: Highway Traveling time Estimate and Optimal Routing Ⅰ Highway traveling time estimate is crucial to travelers. Hence, detectors are mounted on some of the US highways. For instance, detectors are mounted on every two-way six-lane highways o…

jsp 大学生心理平台系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp大学生心理平台系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统采用web模式开发,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发&#x…

正点原子STM32(基于HAL库)4

目录ADC 实验ADC 简介单通道ADC 采集实验ADC 寄存器硬件设计程序设计(还没拷贝完)单通道ADC 采集(DMA 读取)实验ADC & DMA 寄存器硬件设计多通道ADC 采集(DMA 读取)实验ADC 寄存器硬件设计单通道ADC 过采样(16 位分…

【数据结构初阶】第二篇——顺序表

顺序表的概念及其结构 初始化顺序表 销毁顺序表 打印顺序表 增加数据 头插 尾插 指定下标位置插入 删除数据 头删 尾删 删除指定位置 查找数据 修改数据 顺序表的概念及其结构 基本概念 顺序表是用一段物理地址连续的存储单元一次存储数据元素的线性结构&#xf…

Word控件Spire.Doc 【Table】教程(6): 在 Word 中合并或拆分表格单元格

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

AcWing 1072. 树的最长路径(DFS与树形DP)

AcWing 1072. 树的最长路径(树形DP)一、题目:二、思路:三、代码:四、树形DP1、状态表示2、状态转移3、循环设计4、初末状态5、代码实现一、题目: 二、思路: 为了方便,我们利用下面这…