二分K-均值算法的实现
目录
(已知请跳过)
-均值聚类算法
-均值算法
准备工作
读者需具备以下基本知识:
=mat(zeros((k,n)))
for j in range(n):
minJ=min(dataSet[:,j])
rangeJ=float(max(dataSet[:,j])-minJ)
centroids[:,j]=minJ+rangeJ*(k,1)
return centroids
K均值聚类算法代码的实现
上述代码中各函数及部分返回值的作用:
(1)loadDataSet():将文本文件导入到一个列表中;
(2)distEclud():计算两个向量的欧式距离;
(3)randCent():为给定数据集构建一个包含k个随机质心的集合;
(4)返回值datMat:是一个包含许多其他列表的列表。这种格式可以很容易将许多值封装在矩阵里。
所取随机质心的要求
:randCent()的作用便是为给定数据集构建一个包含K个随机质心的集合(注:这里并不是为了赘述,而是希望读者至少了解每一个函数的功用)。
:
实现:(1)找到数据集每一维的最大值和最小值;(2)生成0~,以此确保随机点在数据的边界之类。
上述代码的测试
注:笔者使用cmd进行测试,关于测试数据随后将给出。建议读者在观看的同时自行运行,若需进行这一步,请自行去此下网址自行下载:
下页将给出测试所用数据示例:
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
机器学习+二分-K均值算法 来自淘豆网m.daumloan.com转载请标明出处.