Scikit-Learn K均值聚类

本文详细介绍了K均值聚类算法的原理、优缺点,以及在Scikit-Learn中的实现。K均值聚类是无监督学习中的聚类算法,通过迭代寻找最佳聚类中心。文章探讨了如何确定最佳K值,包括误差平方和(手肘法)和轮廓系数法,并提供了使用Scikit-Learn进行聚类的实例。

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




1、K均值聚类


K-均值(K-Means)是一种聚类算法,属于无监督学习。K-Means在机器学习知识结构中的位置如下:

在这里插入图片描述

1.1、K均值聚类及原理


聚类(Clustering)是指将一个数据对象集合划分成簇(子集),使得簇内对象彼此相似,簇间对象不相似。通俗来说,就是将数据划分到不同组中

根据算法原理,常用的聚类算法可分为:基于划分的聚类算法K-Means、基于层次的聚类算法HC、基于密度的聚类算法。本文主要介绍K-Means聚类

K-Means算法起源于1967年,由James MacQueen和J.B.Hartigan提出。K-Means中的K指的是类的数量,Means指均值

K-Means算法的基本原理是:根据样本特征的相似度或距离远近,将样本(N个点)划分成若干个类(K个集群),使得每个点都属于离其最近的中心点(均值)对应的类(集群)

其中,相似度通常使用欧几里得距离来度量,用于计算数据点与质心之间的距离(使用平方):
d ( X i , C j ) = ∣ ∣ X i − C j ∣ ∣ 2 d(X_i,C_j)=||X_i-C_j||^2 d(Xi,Cj)=∣∣XiCj2

其中, X i X_i Xi是数据点, C j C_j Cj是质心

K-Means假设一个样本属于一个类,K-Means的类别是样本的中心(均值);K-Means的损失函数是样本与其所属类的中心之间的距离平方和(SSE):
J = ∑ j = 1 K ∑ i = 1 N j ∣ ∣ X i − C j ∣ ∣ 2 J=\sum_{j=1}^{K}\sum_{i=1}^{N_j}||X_i-C_j||^2 J=j=1K

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值