作为this question的作者,我尝试使用numpy实现K-Medoids。然而,我更感兴趣的是如何实现medoidividualization步骤(第二步,在[2]),包括一个一个簇地选择一个样本,使与属于同一个簇的其他样本的距离之和最小化。 假设我们有相同的结构描述在[1]:
# Number of samples
n_samples = 5
# Distance square matrix
D = np.array([[ 0., 3.04959014, 4.74341649, 3.72424489, 6.70298441],
[ 3.04959014, 0. , 5.38516481, 4.52216762, 6.16846821],
[ 4.74341649, 5.38516481, 0. , 1.02469508, 8.23711114],
[ 3.72424489, 4.52216762, 1.02469508, 0. , 7.69025357],
[ 6.70298441, 6.16846821, 8.23711114, 7.69025357, 0. ]])
# Medoids
medoids = np.array([0, 3])
# Cluster membership array
cl = np.array([0, 0, 1, 1, 0])
我不能用numpy实现它。。。有人能帮我吗?在
[编辑] 我目前的最佳解决方案是:
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐