当前位置: 首页 > news >正文

k 均值聚类算法总结

一、聚类算法简介

  1. 核心概念:聚类是无监督学习问题,即数据无标签,通过将相似数据分到一组实现分类。
  2. 主要难点:聚类结果的评估以及参数调整。

二、距离度量

  1. 欧式距离:最常见的距离度量,衡量多维空间中两点的绝对距离。
    • 二维空间:d=(x1​−x2​)2+(y1​−y2​)2​
    • 三维空间:d=(x1​−x2​)2+(y1​−y2​)2+(z1​−z2​)2​
    • n 维空间:d=∑i=1n​(x1i​−x2i​)2​
  2. 曼哈顿距离:由赫尔曼・闵可夫斯基提出,指两点在标准坐标系上的绝对轴距总和。平面上两点(x1​,y1​)与(x2​,y2​)的曼哈顿距离公式为:d(i,j)=∣X1​−X2​∣+∣Y1​−Y2​∣。

三、k 均值算法

  1. 算法步骤
    • 初始化:令t=0,随机选择k个样本点作为初始聚类中心m(0)=(m1(0)​,m2(0)​,⋯,mk(0)​)。
    • 样本聚类:对于固定的类中心m(t)=(m1(t)​,⋯,mk(t)​),计算每个样本到类中心的距离,将样本指派到最近中心的类中,构成聚类结果C(t)。
    • 计算新中心:针对聚类结果C(t),计算各类中样本的均值,作为新的类中心m(t+1)=(m1(t+1)​,⋯,mk(t+1)​)。
    • 迭代停止:若迭代收敛或满足停止条件,输出C∗=C(t);否则,令t=t+1,返回上一步。
  2. 算法评估 - CH 指标
    • 通过计算类中各点与类中心的距离平方和度量类内紧密度。
    • 通过计算各类中心点与数据集中心点距离平方和度量数据集分离度。
    • CH 值越大,表明类自身越紧密、类与类之间越分散,聚类结果越优。
  3. 优缺点
    • 优点:简单快速,适合常规数据集。
    • 缺点:K 值难以确定;复杂度与样本呈线性关系;很难发现任意形状的簇。

四、代码实现相关

  1. make_blobs():用于生成聚类数据集,参数说明如下:
    参数说明
    n_samples数据样本点个数,默认值 100
    n_features每个样本的特征数(数据维度),默认值 2
    centers类别数(标签种类数),默认值 3
    cluster_std每个类别的方差
    center_box中心确定之后的数据边界,默认值 (-10.0, 10.0)
    shuffle是否将数据打乱,默认值 True
    random_state随机生成器的种子,可固定生成的数据
  2. KMeans():用于对数据集进行 k 均值聚类,主要参数包括:
    • n_cluster:分类簇的数量。
    • max_iter:最大的迭代次数。
    • n_init:算法的运行次数。
    • random_state:随机数生成器的种子。

      3.from sklearn.datasets import make_blobs make_blobs():为聚类产生数据集。

4.KMeans():使用k均值算法对数据集进行聚类。

五、课堂练习

使用 make_blobs () 创建数据集,然后对其进行 k 均值聚类。

http://www.dtcms.com/a/342553.html

相关文章:

  • 从入门到精通:Java设计模式——单例模式
  • 8.21IPSEC安全基础后篇,IKE工作过程
  • 【TWT】
  • 常德二院信创转型实战:全栈国产化提升医疗效率与安全
  • 嵌入式linux设备升级和sm32升级对比
  • 计算机视觉(opencv)实战六——图像形态学(腐蚀、膨胀、开运算、闭运算、梯度、顶帽、黑帽)
  • el-table-draggable拖拽实现表格内容排序
  • VUE从入门到精通二:ref、reactive、computed计算属性、watch监听、组件之间的通信
  • 网络与信息安全有哪些岗位:(5)安全开发工程师
  • Android14内核调试 - boot vendor_boot
  • Git常用操作大全(附git操作命令)
  • Matplotlib数据可视化实战:Matplotlib数据可视化入门与实践
  • golang实现的Rsa加密解密算法(go和java交互时双向加解密方案)
  • OpenCV 形态学操作详解:腐蚀、膨胀与开闭运算
  • Chrome/360 浏览器 WebUI 资源底层机制解析:共享资源与专属资源的奥秘
  • 一、部署LNMP
  • mac的m3芯片安装JDK8、JDK17
  • 【CDA干货】金融App产品AB测试与指标体系搭建
  • 数据结构之排序大全(3)
  • 31、工业网络异常行为检测与OT协议深度分析 (核电站DCS模拟) - /安全与维护组件/network-anomaly-detection-nuclear
  • “码” 上安全:轻量级加密的硬件实现与侧信道攻击防御
  • Java实现一个简单的LRU缓存对象
  • 【SpringBoot】16 核心功能 - Web开发原理 - 请求参数 - 源码分析
  • WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析七
  • 如何快速上手【Spring AOP】?从动态代理到源码剖析(下篇)
  • CTFshow系列——命令执行web41-44
  • YOLOv8 原理与跨领域应用全景分析
  • CVPR | 2025 | MAP:通过掩码自回归预训练释放混合 Mamba - Transformer 视觉骨干网络的潜力
  • 【C++】仿函数和回调函数
  • Python数值取整完全指南:从基础到金融工程实践