kmeans聚类代码详解

本文深入探讨了KMeans聚类算法的工作原理,通过一个实例展示了如何计算距离矩阵,选择最近质心并更新质心的过程。还提供了一个自定义的KMeans类实现,并在sklearn库的帮助下生成了示例数据进行聚类。最后,应用该算法对新数据点进行预测,展示了其分类效果。
kmeans聚类

keans算法主要是将所有点与质心算距离,与每个点距离最小的质心就是它的类别,然后再从每一类中选取平均值作为新的质心

#核心算法中的数据处理示例:
#假设五个点与四个之心距离分别如下:
dist = np.array([[112,324,532,32],
               [56,574,592,236],
               [13,34,57,32],
               [420,329,532,32],
               [112,324,52,32]])
#截取每一行的最小值
c_ind=np.argmin(dist,axis=1)
print(c_ind)
#打印类别是否是3
print(c_ind==3)
#打印类别为3的点
print(dist[c_ind==3])
#打印类别为3的新的质心
prin(np.mean(dist[c_ind==3],axis=0))

[3 0 0 3 3]
[ True False False True True]
[[112 324 532 32]
[420 329 532 32]
[112 324 52 32]]
array([214.66666667, 325.66666667, 372. , 32. ])

以下是详细代码:

import numpy as np
import matplotlib
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值