当前位置:   article > 正文

kmeans聚类算法python实现_kmeans聚类python代码

kmeans聚类python代码

以下是使用Python实现k均值(k-means)聚类算法的示例代码:

  1. import numpy as np
  2. def k_means(data, k, max_iterations=100):
  3. # 随机选择k个初始质心
  4. centroids = data[np.random.choice(range(len(data)), k)]
  5. for _ in range(max_iterations):
  6. # 计算每个样本与质心之间的距离
  7. distances = np.linalg.norm(data[:, np.newaxis] - centroids, axis=2)
  8. # 对每个样本,选取距离最近的质心作为其所属类别
  9. labels = np.argmin(distances, axis=1)
  10. # 更新质心位置为所属类别的平均值
  11. new_centroids = np.array([data[labels == i].mean(axis=0) for i in range(k)])
  12. # 如果新的质心位置与旧的质心位置相同,则停止迭代
  13. if np.all(centroids == new_centroids):
  14. break
  15. centroids = new_centroids
  16. return labels, centroids

这个示例代码中的data是输入的样本数据,每个样本是一个n维向量,其中n是特征的数量。k是要聚类的簇数,max_iterations是最大迭代次数。

函数k_means返回两个结果,labels是每个样本所属的聚类簇的标签,centroids是最终的质心位置。

你可以使用这个示例代码来实现k均值聚类算法。确保在调用函数时将你自己的数据作为参数传递进去。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/678891
推荐阅读
相关标签
  

闽ICP备14008679号