机器学习算法-kMeans

本文详细介绍了k-Means聚类算法,包括算法的基本步骤、优缺点、应用实例以及如何使用Python的scikit-learn实现。k-Means算法常用于数据挖掘中的聚类分析,其优点在于简单快速,但对初始中心点选择和簇的形状有一定限制。文章还提及了k-Means++算法作为优化策略,以提高聚类效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

聚类(Clustering)也称为聚类分析,指将样本分到不同的组中使得同一组中的样本差异尽可能的小,而不同组中的样本差异尽可能的大。

聚类得到的不同的组称为簇(Cluster)。一个好的聚类方法将产生以下的聚类:

  • 最大化簇中的相似性
  • 最小化簇间的相似性

聚类分析的典型应用


  1. 空间数据分析
    图像处理——灰度图像的二值化(对灰度像素进行聚类)。
  2. 万维网
    对WEB日志数据进行聚类,以发现类似的用户访问模式。
  3. 金融领域
    用户交易数据的聚类分析,以获得奇异点(异常交易)。
    ……

主要聚类方法的分类

聚类方法大致可以分为以下几类:

  • 划分聚类方法
  • 层次聚类方法
  • 密度聚类方法
  • 网格聚类方法
  • 基于模型的方法
  • 其它聚类方法

划分聚类方法

划分方法将给定的数据集划分成k份,每份为一个簇。划分方法通常采用迭代重定位技术,尝试通过对象在簇之间的移动来改进划分。

图1.基于划分的聚类方法

在每次迭代,通过观察聚类的簇内差异(Within cluster variation)和簇间差异(Between cluster variation)来确定划分。
簇内差异:衡量聚类的紧凑性,簇内差异可以用特定的距离函数来定义,例如,
w(C)=i=1kw(Ci)=i=1kxCid(x,x¯i)

簇间差异:衡量不同聚类之间的距离,簇间差异定义为聚类中心间的距离,例如,

b(C)=1jikd(x¯j,x¯
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值