第1关:计算欧几里得距离
import numpy as np
def euclid_distance(x1, x2):
"""计算欧几里得距离
参数:
x1 - numpy数组
x2 - numpy数组
返回值:
distance - 浮点数,欧几里得距离
"""
distance = np.sqrt(np.sum((x1 - x2) ** 2))
return distance
第2关:计算样本的最近邻聚类中心
def nearest_cluster_center(x, centers):
"""计算各个聚类中心与输入样本最近的
参数:
x - numpy数组
centers - numpy二维数组
返回值:
cindex - 整数,类中心的索引值,比如3代表分配x到第3个聚类中
"""
cindex = -1
from distance import euclid_distance
min_distance = float('inf') # 初始化最小距离为正无穷大
for i, center in enumerate(centers):
distance = euclid_distance(x, center)
if d