kmeans python自定义初始聚类中心_聚类算法——K-Means原理、k选择、质心初始化、Python实现...

本文介绍了K-Means聚类算法的基本原理、流程、优缺点及其在Python中的实现。重点讨论了如何选择初始质心、如何克服局部最优解,并提供了Python代码示例。此外,还探讨了K的选择方法如手肘法和轮廓系数法,以及K-Means++改进算法。最后,通过实例展示了不同初始质心设置可能导致的不同聚类结果,强调了避免局部最优解的重要性。
摘要由CSDN通过智能技术生成

引入

聚类是一种无监督学习,将相似的样本(对象/实例)归到同一簇(cluster)中。通常用样本的相似度或距离来衡量。eg:天空中的星星,靠得近的星星可以被归为一个星团,而星团之间的星星距离比较远。(CheungRN:聚类算法中常见的几种距离​zhuanlan.zhihu.comae308529ad4c92fdcc492898a5875882.png

)簇内的对象越相似,聚类的效果越好。

硬聚类:一个样本只能属于一个类。

软聚类:一个样本可以以概率属于多个类。

聚类与分类的不同:分类为监督,是监督学习,目标事先已知;而聚类的“类”没有预先定义,是从数据中自动发现的,是无监督学习。也就是说,聚类问题中,给我们的样本只用x,没有y。

k-means表示:该算法可以发现k个不同的簇,且每个簇的中心采用簇内所含值的均值计算而成。属于硬聚类。。常见的聚类算法还有:层次聚类。

K-means算法

1967年MacQueen提出

流程

K-means缺点K的选择需要事先预定。

K个初始质心的位置选择对聚类结果和运行时间都有很大影响。

不能保证全局最优,可能是局部最优解。

K-means改进

如何确定K?

一、手肘法思想:随着聚类数K的增大,样本划分更加精细,那么所有样本的聚类误差(SSE)会逐渐变小:

equation?tex=SSE%3D%5Csum_%7Bi%3D1%7D%5Ek%5Csum_%7Bx%5Cin+D_i%7D%7Cx-%5Cmu_i%7C%5E2

——当K值小于真实聚类数时,K的增加会对聚类效果产生很大影响,故SSE下降幅度很大;

——当K值大于真实聚类数时,K的增加不会对聚类效果产生很大影响,故SSE下降幅度将会趋于平缓;整个SSE-K图为一个手肘型。

二、轮廓系数法思想:类中样本距离越近,类间样本距离越远,聚类效果越好。用平均轮廓系数来衡量。

类中不相似度:ai的平均,体现凝聚度。ai表示样本xi到同类中其他样本的平均距离。ai越小,表明类中样本不相似度越低,凝聚度越高,越应该聚为一类。(among)

类间不相似度:bi的最小值,体现分离度。bi表示样本xi到其他类中所有样本的平均距离。bi越大,表明内间不相似程度越高,分离度越高,越不应该聚为一个类。(between)。最近类:

equation?tex=C_j%3D%5Cmin%5Climits_%7BD_k%7D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bx%5Cin+D_k%7D%7Cx-x_i%7C%5E2

Dk为要找的最近类,x是最近类里的全部样本,n是最近类里的全部样本的个数。某一个样本点xi的轮廓系数:

选SSE还是轮廓系数?

如何初始化质心

K-means++

随机初始化质心可能导致算法迭代很慢,K-means++是对K-mean随机初始化质心的一个优化,具体步骤如下:随机选取一个点作为第一个聚类中心。

计算所有样本与第一个聚类中心的距离。

选择出上一步中距离最大的点作为第二个聚类中心。

迭代:计算所有点到与之最近的聚类中心的距离,选取最大距离的点作为新的聚类中心。

终止条件:直到选出了这k个中心。

只需要随机取第一个聚类中心即可。

然后按照最远优先原则来选新的聚类中心

如何克服局部最优解

K-means实例应用——Python实现

import numpy as np

def loadDataSet(fileName):

''':param fileName: 文件名字:return: 矩阵'''

dataMat = []

fr = open(

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值