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

K 均值聚类算法学习总结

一、聚类算法基础认知
核心概念:聚类属于无监督学习,核心是把 “相似的样本” 自动分到同一组(簇),不需要预先标注的标签。主要挑战是怎么定义 “相似性”、评估聚类效果以及确定最好的聚类数量。
距离度量:
欧式距离:最常用的距离度量方式,衡量多维空间中两点的直线距离,能直观体现样本在空间中的远近关系。
曼哈顿距离:衡量两点在标准坐标系上的绝对轴距总和,适用于更强调轴方向距离的场景。
二、K 均值算法核心原理
算法步骤:
初始化:随机选 k 个样本作为初始聚类中心。
样本分配:计算每个样本到各聚类中心的距离,把样本分到最近的簇里。
更新中心:计算每个簇内所有样本的均值,作为新的聚类中心。
迭代收敛:重复样本分配和中心更新,直到聚类中心稳定或者达到最大迭代次数,得到最终聚类结果。
关键参数(基于sklearn.cluster.KMeans):
n_clusters:指定聚类簇的数量(k 值),要根据业务场景或评估指标来确定。
max_iter:最大迭代次数,用来控制算法运行的时间。
n_init:算法独立运行的次数,选取最优结果,避免陷入局部最优解。
random_state:固定随机种子,保证每次实验结果能重复出现。
三、聚类效果评估
CH 指标(Calinski-Harabasz):从两个方面评估聚类质量:
类内紧密度:计算类中各点与类中心的距离平方和。
类间分离度:计算各类中心点与数据集总中心的距离平方和。
指标特性:CH 值越大,说明类内越紧密、类间越分散,聚类效果就越好。
四、算法优缺点分析
优点:
原理简单直观,容易理解和实现。
计算效率高,适合处理大规模的常规数据集。
缺点:
k 值需要人工预先指定,很难准确确定最优数量。
对初始聚类中心敏感,可能会陷入局部最优解。
只能发现凸形分布的簇,难以识别任意形状的聚类结构。
五、实践应用流程
数据生成:用sklearn.datasets.make_blobs创建聚类数据集,关键参数有:
n_samples:样本的数量。
n_features:特征的维度。
centers:预设的类别数。
cluster_std:控制类内数据的分散程度。
聚类实现:通过KMeans模型对数据进行拟合,得到聚类标签。
结果可视化:绘制散点图展示聚类分布,标记出聚类中心,直观呈现聚类效果。
效果评估:计算 CH 指标,再结合可视化结果,综合判断聚类质量。
六、学习心得
K 均值算法作为经典的聚类方法,在数据探索、模式识别等场景中应用广泛。它的优势是高效和简洁,但也要注意 k 值选择和初始中心对结果的影响。通过这次学习,不仅掌握了算法的原理和实现流程,还理解了无监督学习中 “相似性度量” 和 “聚类评估” 的核心思想,为后续学习复杂聚类算法打下了基础。在实际应用中,要结合数据特点选择合适的距离度量和评估指标,这样才能得到更有意义的聚类结果。

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

相关文章:

  • Flutter 线程模型详解:主线程、异步与 Isolate
  • 深入 RxJava 插件化开发:打造自定义操作符与监控体系
  • 物理电气协议标准:RS485 RS232
  • llama.cpp docker 镜像pull国内加速地址
  • 餐饮供应链:餐饮的“后端定海神针”
  • 《JavaScript不可变数据实践:Object.freeze与Proxy的实现逻辑、性能博弈及场景选型》
  • 详细讲解Java中的反射和经典面试题(保姆级别)
  • 【STM32入门教程】新建工程
  • 如何高效撰写AI领域学术论文——学习笔记
  • 【动手学深度学习】6.2. 图像卷积
  • DeepSeek-V3.1震撼升级:推理与Agent双突破
  • 20250820:一波三折!老设备国标接入 EasyGBS 的 “排雷” 记:从无流到花屏,换个协议全搞定
  • 8.21学习总结
  • 08.20CSP模拟赛总结
  • 中文房间悖论:人工智能理解力的哲学拷问
  • 【网络运维】Shell:变量进阶知识
  • MTK Linux DRM分析(十)- KMS drm_connector.c
  • Pandas 数据组合与缺失值处理最新版本
  • 如何自定义一个SpringBoot Starter
  • Document Solutions .NET Bundle 8.2.0
  • C++ 入门核心知识
  • 【时时三省】汽车安全 专栏简介
  • strspn函数详解
  • TorchInductor - Introduction
  • 50 C++ STL模板库-算法库 algorithm
  • 使用C++17标准 手写一个vector
  • Python核心技术开发指南(001)——Python简介
  • 基于单片机教室照明灯控制系统
  • 数据结构:生成 (Generating) 一棵 AVL 树
  • 域名污染怎么清洗?域名污染如何处理?