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

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





