我正在尝试用 python 编写单链接聚类算法。我是这门语言的新手。你能帮我把下面的代码写成一个循环吗? 单点赞算法分为三步。
第一步:形成N个初始集群(每台机器 被认为是一个集群)。计算相似度 适用于所有机器对。
第 2 步:找到所有 i 和 j 机器(集群)对 具有最大的相似性。合并集群 i* 和 j*。如果仍然存在多个集群,请转到 第3步,否则停止。 步骤 3:更新系数:删除行 和来自相似性的列 i*, j* 系数矩阵。用行替换它们 和第 k 列。对于所有现有的集群 r, 计算新的相似度 Srk = 最大 (Sri * , Srj * )。转到第 2 步
enter code here
import numpy as np
n1=np.array([1 ,0 ,1 ,0 , 0 ,0 ,1])
n2=np.array([0 ,1 ,0 ,1 ,0 ,1 ,1])
n3=np.array([0 ,1 ,0 ,1 ,0 ,1 ,0])
n4=np.array([1 ,0 ,1 ,0 ,0 ,0 ,1])
n5=np.array([1 ,1 ,0 ,0 ,1 ,1 ,0])
n=0
for i in range(len(n1)):
if n1[i]==1:
n+=1
print("n1:",n)
n=0
for i in range(len(n2)):
if n2[i]==1:
n+=1
print("n2:",n)
n=0
for i in range(len(n3)):
if n3[i]==1:
n+=1
print("n3:",n)
n=0
for i in range(len(n4)):
if n4[i]==1:
n+=1
print("n4:",n)
n=0
for i in range(len(n5)):
if n5[i]==1:
n+=1
print("n5:",n)
matrix=np.array([[1 ,0 ,1 ,0 , 0 ,0 ,1],
[0 ,1 ,0 ,1 ,0 ,1 ,1],
[0 ,1 ,0 ,1 ,0 ,1 ,0],
[1 ,0 ,1 ,0 ,0 ,0 ,1],
[1 ,1 ,0 ,0 ,1 ,1 ,0]])