机器学习 — AGNES层次聚类方法
第1关:距离的计算
任务描述
本关任务:根据本关所学知识,完成calc_min_dist函数,calc_max_dist函数以及calc_avg_dist函数分别实现计算两个簇之间的最短距离、最远距离和平均距离。
import numpy as np
def calc_min_dist(cluster1, cluster2):'''计算簇间最小距离:param cluster1:簇1中的样本数据,类型为ndarray:param cluster2:簇2中的样本数据,类型为ndarray:return:簇1与簇2之间的最小距离'''#********* Begin *********#min_dist = np.inffor i in range(len(cluster1)):for j in range(len(cluster2)):dist = np.sqrt(np.sum(np.square(cluster1[i] - cluster2[j])))if dist < min_dist:min_dist = distreturn min_dist#********* End *********#def calc_max_dist(cluster1, cluster2):'''计算簇间最大距离:param cluster1:簇1中的样本数据,类型为ndarray:param cluster2:簇2中的样本数据,类型为ndarray:return:簇1与簇2之间的最大距离'''#********* Begin *********#max_dist = 0for i in range(len(cluster1)):for j in range(len(cluster2)):dist = np.sqrt(np.sum