from Packages import * class AP: def __init__(self, X): ## input matrix self.__x = np.array(X) # Fit PCA model self.M = AffinityPropagation(damping=0.5, max_iter=200, convergence_iter=15, copy=True, preference=None, affinity='euclidean', verbose=False, random_state=None) self.M.fit(self.__x) self.yp = self.M.predict(self.__x)+1 @property def fit_optimal_(self): clu = [f'cluster#{i}' for i in self.yp] return self.__x, clu, self.M.cluster_centers_