一家懂得用细节留住客户的3年潮牌老店我必须支持!➕🛰:luyao1931
【实验目的】
1、 掌握K-means聚类算法的原理,理解算法的步骤。
2、 加深对K-means聚类算法的理解,掌握改进的K-means算法。
【实验性质】
设计型实验
【实验内容】
使用K-means实现聚类
【实验环境】
Python 2
代码:
from numpy import *
def loadDataSet(fileName):
dataMat = []
fr = open(fileName)
for line in fr.readlines():
curLine = line.strip().split('\t')
fltLine = map(float,curLine)
dataMat.append(fltLine)
return dataMat
def distEclud(vecA, vecB):
return sqrt(sum(power(vecA - vecB, 2)))
def randCent(dataSet, k):
n = shape(dataSet)[1]
centroids = mat(zeros((k,n)))
for j in range(n):
minJ = min(dataSet[:,j])
rangeJ = float(max(dataSet[:,j]) - minJ)
centroids[:,j] = mat(minJ + rangeJ * random.rand(k,1))