当前位置:   article > 正文

机器学习之聚类算法:K均值聚类(二、算法案例)_创建k均值聚类算法实例的语句

创建k均值聚类算法实例的语句

一、简易数据集的Kmeans实现

 数据下载  提取码:quu3

导入库并载入数据:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. # 载入数据
  4. data = np.genfromtxt("kmeans.txt", delimiter=" ")

定义函数:计算距离、初始化聚类中心和更新聚类中心函数:

  1. # 计算距离
  2. def euclDistance(vector1, vector2):
  3. return np.sqrt(sum((vector2 - vector1)**2))
  4. # 初始化质心
  5. def initCentroids(data, k):
  6. numSamples, dim = data.shape
  7. # k个质心,列数跟样本的列数一样
  8. centroids = np.zeros((k, dim))
  9. # 随机选出k个质心
  10. for i in range(k):
  11. # 随机选取一个样本的索引
  12. index = int(np.random.uniform(0, numSamples))
  13. # 作为初始化的质心
  14. centroids[i, :] = data[index, :]
  15. return centroids
  16. # 传入数据集和k的值
  17. def kmeans(data, k):
  18. # 计算样本个数
  19. numSamples = data.shape[0]
  20. # 样本的属性,第一列保存该样本属于哪个簇,第二列保存该样本跟它所属簇的误差
  21. clusterData = np.array(np.zeros((numSamples, 2)))
  22. # 决定质心是否要改变的变量
  23. clusterChanged = True
  24. # 初始化质心
  25. centroids = initCentroids(data, k)
  26. while clusterChanged:
  27. clusterChanged = False
  28. # 循环每一个样本
  29. for i in range(numSamples):
  30. # 最小距离
  31. minDist = 100000.0
  32. # 定义样本所属的簇
  33. minIndex = 0
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/340810
推荐阅读
相关标签
  

闽ICP备14008679号