def kmeans_classify(A, means, metric):
# set up the lists to return
data_classes = []
data_metrics = []
# set up the distance to be the max number possible
dist = sys.maxint
for v in A: # for every data vector
index = 0
for i in range(len(means.tolist())):
m = means.tolist()[i]
norm_matrix = np.vstack((v, m))
if norms.pdist(norm_matrix, metric)[0] < dist:
dist = norms.pdist(norm_matrix, metric)[0]
index = i
data_classes.append([index])
data_metrics.append([dist])
dist = sys.maxint
return np.matrix(data_classes), np.matrix(data_metrics)
评论列表
文章目录