k-means伪代码

1、初始化k个簇中心。

2、更新所有样本点簇归属:样本点到哪个簇中心点最近就属于哪个簇。

3、重新计算每个簇的中心点(直到簇中心点不再变化或达到更新最大次数)

#k-means伪代码
import numpy as np
import copy
#计算欧氏距离
def get_distance(X,Y):
	return np.sum((X-Y)**2)**0.5
def calc_mean(X): #计算中心点,每一维取均值
	l=len(X[0])
	list_mean=[]
	for i in range(l):
		s=0
		for j in X:
			s+=j[i]
		m=s/len(X)
		list_mean.append(m)
	return list_mean

def k_means(x_train,k,max_iter):
	num_iter = 0
	#初始簇中心
	cluster_center = x_train[:k]
	pre_cluster_center = copy.deep_copy(cluster_center) #上一次的簇中心点
	#开始迭代
	while num_iter

 

你可能感兴趣的:(人工智能,python)