聚类分析--基本原理、方法(Kmeans,层次聚类)

news2025/6/9 4:15:51

文章目录

  • 聚类分析的定义
  • 基本原理
  • 商业应用场景
  • 聚类分析步骤
    • 聚类分析方法
      • 层次分析法/系统聚类法(小样本)
        • 提问:如何选择合适的分类结果
      • K-means
        • 疑问:

聚类分析的定义

  • 聚类分析就是将研究对象根据一些特征指标,把比较相似的研究对象,按一定的方式归为同类

基本原理

  • 1、聚类分析就是把相似的分析对象根据各自特征分成不同组的统计方法 。
  • 2、其目的就是把相似的东西放在一起,从而使得类别内部的差异尽可能小,而类别之间的差异尽可能大 。
  • 若组内相似性越大,组间差距越大,说明聚类效果越好

商业应用场景

  • 聚类分析被广泛应用在银行、零售和保险领域等各个领域
  • 聚类分析最常见的应用场景:客户分群,以及由此衍生的客户画像
  • 通对顾客和市场进行分群,深入了解群体顾客,根据顾客需求,挖掘新的产品和服务机会,制定更有效的顾客管理策略和市场营销策略
  • 例如,金融方面,我们可以根据金融投资产品的收益、波动性、市场资本等指标将这些产品归成几类,然后本着不要把鸡蛋放在同一个篮子(同一类产品)里的原则,优化我们的投资组合

聚类分析步骤

  • 1.选取合适变量(理论、经验)
    • 注意事项:需选取与聚类分析目标密切相关的变量,能反映分类对象的特征
    • 变量之间有明显差异,不应该高度相关
  • 2.计算相似性:聚类分析是用“距离”或“相似系数”来度量对象之间的相似性,度量样本之间的相似性使用点间距离
    • 欧式距离、平方欧式距离、Block距离、Chebychev距离、Minkovski距离、Customized距离、Person简单相关系数…(常用的是平方欧式距离)
  • 3.选定聚类方法,进行聚类,并确定类数:常用的是系统聚类法(层次聚类法)和K-均值聚类法
  • 4.结合业务理解,分析聚类结果
    • 聚类完成后,可以从以下问题分析结果:
    • 聚类之后的分群是否有明显的特征?
    • 聚类之后的分群是否有足够数量的样本(如用户)?
    • 这些分群结果是否在具体方案制定中具有可操作性?

聚类分析方法

在这里插入图片描述

层次分析法/系统聚类法(小样本)

系统聚类法事先并不会指定最后要分成多少类,而是把所有可能的分类都列出,再视具体情况选择一个合适的分类结果 。 可以通过谱系图来直观的分析 。
在这里插入图片描述

  • 聚类分析开始前,每一个样本自成一类
  • 计算每个类间的距离,最小距离的两个类合并
  • 度量新产生的类别与剩余样本的距离,并将距离最近的样本或小类再聚成一类
  • 反复操作,直到所有的类别都合并成一类为止

提问:如何选择合适的分类结果

K-means

  • 确定初始类别数目 K
  • 确定K个类别的初始聚类中心
  • 计算每个样本到 K 个聚类中心的距离,样本离哪个中心近就归为哪类
  • 迭代1:重新确定每个类别的中心(均值点)
  • 迭代2:重新计算每个样本到类别中心的距离,重新聚类
  • 直到每个个体所属的类别不再变动,迭代结束

疑问:

1.如何选择合适的K值
2.如何确定初始点


1.如何选择合适的K值

  • A.根据业务需要,比如想将用户等级分为高中低,那就定3类
  • B。肘部法:肘部法所使用的聚类评价指标为:数据集中所有样本点到其簇中心的距离之和的平方。
    • 但是肘部法选择的并不是误差平方和最小的k,而是误差平方和突然变小时对应的k值
  • C。轮廓系数法
    • 该指标结合了内聚度和分离度两个因素

假设已通过聚类法将样本划分成了 K K K簇,对于每个簇中的每个样本点 i i i,分别计算其轮廓系数,轮廓系数需通过以下两个指标确定
1.内聚度 a ( i ) a(i) a(i):计算样本点到该类中每个样本的平均距离
2.分离度 b ( i ) b(i) b(i):样本点 i i i到其他簇平均距离的最小值,即 b ( i ) = min ⁡ { b i 1 , b i 2 , ⋯   , b i k } b(i) = \min \{b_{i1},b_{i2},\cdots,b_{ik}\} b(i)=min{bi1,bi2,,bik}
3.计算轮廓系数: s ( i ) = b ( i ) − a ( i ) max ⁡ { b ( i ) , a ( i ) } s(i) = \frac{b(i)-a(i)}{\max\{b(i),a(i)\}} s(i)=max{b(i),a(i)}b(i)a(i)
4.计算所有样本点轮廓系数的平均值 S ∈ [ − 1 , 1 ] S\in [-1,1] S[1,1],该值越接近1,聚类效果越好

  • 肘部法确定K:在这里插入图片描述

  • 轮廓系数法确定K:在这里插入图片描述


2.如何确定初始中心

  • (1)随机选取初始中心:简单,但聚类结果容易波动性大
  • (2)最大最小距离法:
    • 假设只有一个簇,所有的样本点都在这个簇里,找到样本点中对簇内距离总和贡献最小的点(我理解为,该点与其他点的距离之和最小,距离矩阵的行之和或列之和),记为 c 1 c_1 c1(找到的第一个初始中心)
    • 再找离这个点最远的样本点,记为 c 2 c_2 c2
    • 之后根据K值,找离 c 1 , c 2 c_1,c_2 c1,c2综合最远的,记为 c 3 c_3 c3,…,找到第K个后就结束
    • 什么是综合最远的呢?
      • 对每个样本点 x i x_i xi,取 x i x_i xi c 1 , c 2 c_1,c_2 c1,c2的距离最小值为综合距离 d i d_i di,计算所有的样本点后,取综合距离里最大的点为样本点 c 3 c_3 c3,以此类推

算法过程如下:
在这里插入图片描述

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

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

相关文章

ubuntu qt程序无法输入中文 QLineEdit输入框无法切换输入法

目录一、问题描述二、解决思路三、步骤描述一、问题描述 测试软件在运行时无法通过键盘快捷键切换中文输入法,主要原因为qt应用程序没成功加载到输入法插件。 本文的以测试程序demo为例,进行过程展示,demo名字为“test-chinese-lineedit”。…

stream流处理初识

stream流处理初识 java8中的集合支持stream方法, 它会返回一个流(java.util.stream.Stream)IDEA集成的工具查看流式链过程: 流的操作 : 流的概念: java8中的集合支持stream方法,它会返回一个流(java.util.stream.Stream) 元素序列: 就像集…

【数据结构】优先级队列----堆

优先级队列----堆优先级队列堆堆的创建堆的插入:堆的删除:PriorityQueue的特性PriorityQueue的构造与方法优先级队列 优先级队列: 不同于先进先出的普通队列,在一些情况下,优先级高的元素要先出队列。而这种队列需要提…

开启Openharmony 开发之旅

之前因为太懒,所以很少写博客。最近做了一年的鸿蒙开发。想记录下,故开始写点东西,作为学习和开发笔记吧!先分享几个开源鸿蒙的学习网站。 1.开源鸿蒙官网 OpenAtom OpenHarmonyhttps://docs.openharmony.cn/pages/v3.1/zh-cn/a…

《MySQL系列-InnoDB引擎19》文件-日志文件-二进制日志

日志文件 日志文件记录了影响MySQL数据库的各种类型活动。MySQL数据库中常见的日志文件有: 错误日志(error log)二进制日志(bilog)慢查询日志(slow query log)查询日志(log) 这些日志文件可以帮助DBA对MySQL数据库的运行状态进行诊断,从而更好的进行数…

INTx中断机制源码分析

INTx中断机制源码分析 文章目录INTx中断机制源码分析参考资料:一、 配置空间二、 扫描设备时分配中断号三、 使用INTx中断四、 PCIe中断树五、 PCIe INTx中断映射过程5.1 PCIe控制器支持的中断5.2 PCIe控制器注册中断5.3 PCIe设备中断号的分配5.3.1 IRQ domain5.3.2…

Java源码程序设计-房屋出租管理系统设计与实现

摘 要系统设计系统实现开发环境摘 要 随着我国市场经济的快速发展和人们生活水平的不断提高,简单的房屋出租服务已经不能满足人们的需求。如何利用先进的管理手段,提高房屋出租的管理水平,是当今社会所面临的一个重要课题。 本文采用结构化…

Win10系统电脑开机后总是蓝屏无法使用怎么办?

Win10系统电脑开机后总是蓝屏无法使用怎么办?电脑开机的时候出现了蓝屏问题,这个情况是我们的电脑系统不兼容导致的。遇到这个问题一般是需要去进行系统的重装来解决,安装一个更兼容的系统就可以解决问题了。一起来看看详细的解决方法分享吧。…

前端学习第八站——CSS定位和装饰

目录 一、定位 1.1 网页常见布局方式 1.2 定位的常见应用场景 2.1 定位初体验 2.2 使用定位 3.1 静态定位 4.1 相对定位 5.1 绝对定位 6.1 子绝父相 7. 固定定位 8.1 定位的层级关系 8.2 更改定位元素的层级 9.总结 二、装饰 1.1 了解基线 1.2 文字对齐问…

安卓小游戏:小板弹球

安卓小游戏:小板弹球 前言 这个是通过自定义View实现小游戏的第三篇,是小时候玩的那种五块钱的游戏机上的,和俄罗斯方块很像,小时候觉得很有意思,就模仿了一下。 需求 这里的逻辑就是板能把球弹起来,球…

股票交易开放接口是什么意思?

在股票量化市场上,大家可能对股票交易开放接口的意思不太理解,其实换个角度来看,就是关于由开发团队进行开发的股票交易开放接口,那么对于接口的开发原理跟代码是怎么样的呢?一、股票交易开放接口函数的调用&#xff1…

面试的同学看这里!这套Java面试八股文,已经帮助200+人进入大厂

在看这篇文章之前,我想我们需要先搞明白八股文是什么??? 明清科举考试的一种文体,也称制义、制艺、时文、八比文。八股文章就四书五经取题,内容必须用古人的语气,绝对不允许自由发挥&#xff0c…

Git 常用命令

一、基本的git命令 1、查看现在在哪个分支 git branch 2、切换到某分支 git checkout 某分支 3、添加修改后的代码到缓存区 git add . 4、添加提交代码的备注 git commit -m "注释" 5、提交代码到指定的分支 git push origin 某分支 6、从远程仓库克隆git仓库…

四 、QML常用控件的使用详解

在Qt Quick的世界里,window对象用于创建一个与操作系统相关的顶层窗口,而其他的元素,如Text Rectangle,Image等,都睡Windows提功能场景里面的显示对象,Window还有一个派生类,即是大名鼎鼎的Application Win…

基于DSP+FPGA高速运动控制器设计

基于“PC运动控制器”结构的开放式机器人运动控制系统能够充分利用PC开放程 度高、通用性好、处理能力强等特点以及运动控制器运算速度快、实时性能好、控制能 力强等特点,因此得到较快发展,成为目前的研究热点。但目前采用此种结构的开放式 机器人运动控…

3D模型深度生成网络【ShapeAssembly】

推荐:使用 NSDT场景设计器 快速搭建 3D场景。 我们提出了一个深度生成模型,该模型学习在ShapeAssembly中编写新颖的程序,ShapeAssembly是一种用于建模3D形状结构的特定领域语言。 执行 ShapeAssembly 程序会生成一个由部件代理长方体的分层连…

HashMap put() 方法源码分析

文章目录一、前置知识红黑树定义二、构造方法HashMap()HashMap(int initialCapacity, float loadFactor)tableSizeFor(int cap):计算hashmap初始容量三、put 方法源码1. put()hash(Object key):计算key的hash值2. putVal()通过 hash 计算数组下标3. resi…

jdk版本切换工具jenv使用指南

1.下载jenv包 下载链接:GitHub - FelixSelter/JEnv-for-Windows: Change your current Java version with one line 下载包的文件:JEnv.zip 然后解压缩,放到一个目录下,我这里放到了目录:D:\tools\JEnv 2.将JENV添…

chatGPT学习

最近看到一个火爆的AI智能聊天工具:ChatGPT。它的功能:文能写文章,武能改BUG,马斯克对它的评价是“Scary Good!”。我非常感兴趣,就试用了一下,感觉还不错,希望大家能喜欢。 ChatGPT&#xff0…

炼石完成近亿元A+轮融资,冲刺1500亿数据安全赛道

近日,炼石宣布完成近亿元A轮融资,本轮融资由重庆科技成果转化基金独家投资,由清科资本担任独家财务顾问,这是继安天科技、安云资本、国科嘉和、腾讯等多轮之后的新一轮投资。随着本轮资金的引入,炼石将更深入研发迭代以…