从头开始实施凝聚算法

问题描述 投票:0回答:0

我实施了凝聚聚类算法并计算了正确的距离矩阵但是我在计算新的距离矩阵和合并集群后面临更新标签列表的问题..关于如何更新我的标签列表有什么建议吗?

这是我的部分代码

 while n_clusters > self.n_clusters:
            # Find the closest pair of clusters
            i, j = np.unravel_index(np.argmin(distance_matrix), distance_matrix.shape)
            
            # Merge the closest pair of clusters
            self.labels_[self.labels_ == j] = i
            n_clusters -= 1
            
            # Update the distance matrix
            
            for k in range(n_samples): 
                
                if(i==k):
                  distance_matrix[i, j]=math.inf
                else:
                  
                  distance_matrix[i, k] = min(distance_matrix[i, k], distance_matrix[j, k])
                  distance_matrix[k, i] = distance_matrix[i, k]


                
                
            distance_matrix = np.delete(distance_matrix, j, axis=0)
            distance_matrix = np.delete(distance_matrix, j, axis=1)
            print(self.labels_)
            print(distance_matrix) 
            n_samples=n_samples-1

感谢任何帮助

algorithm machine-learning artificial-intelligence cluster-analysis
© www.soinside.com 2019 - 2024. All rights reserved.