def getClusters(self) :
     PASS=1
     
     matrix=csr_matrix(self.similarityMatrixBuilder)
     continu=True
     realClusters=[]
     clusters=[]
     nextMatrix=[]
     firstRound=True
     while continu :
         print "-"*40
         print "PASS #{0}".format(PASS)
         PASS+=1
         clustersNumber,clusters=LouvainClusterer.getOnePassLouvainCommunities(matrix)
         if firstRound :
             firstRound=False
             realClusters=clusters
         else :
             LouvainClusterer.updateRealClusters(realClusters,clusters)
         if (clustersNumber==matrix.shape[0]) :
             continu=False
         else :
             nextMatrix=LouvainClusterer.buildNewSimilarityMatrix(matrix,clusters,clustersNumber)
             matrix=nextMatrix
     return np.array(realClusters)
Ejemplo n.º 2
0
    def getClusters(self):
        PASS = 1

        matrix = csr_matrix(self.similarityMatrixBuilder)
        continu = True
        realClusters = []
        clusters = []
        nextMatrix = []
        firstRound = True
        while continu:
            print "-" * 40
            print "PASS #{0}".format(PASS)
            PASS += 1
            clustersNumber, clusters = LouvainClusterer.getOnePassLouvainCommunities(
                matrix)
            if firstRound:
                firstRound = False
                realClusters = clusters
            else:
                LouvainClusterer.updateRealClusters(realClusters, clusters)
            if (clustersNumber == matrix.shape[0]):
                continu = False
            else:
                nextMatrix = LouvainClusterer.buildNewSimilarityMatrix(
                    matrix, clusters, clustersNumber)
                matrix = nextMatrix
        return np.array(realClusters)
Ejemplo n.º 3
0
    def getClusters(self):
        PASS = 1

        matrix = csr_matrix(self.similarityMatrixBuilder)
        continu = True
        realClusters = []
        clusters = []
        nextMatrix = []
        firstRound = True

        while continu:
            print "-" * 40
            print "PASS #{0}".format(PASS)
            PASS += 1
            # on recupere le nombre de clusters et le vecteur de mapping obtenus a l'aide de la matrice de similarité
            clustersNumber, clusters = LouvainClusterer.getOnePassLouvainCommunities(
                matrix)

            # on charge nos donnees de clusters dans realClusters
            if firstRound:
                firstRound = False
                realClusters = clusters
            else:
                LouvainClusterer.updateRealClusters(realClusters, clusters)

# on regarde si on a reussi a reduire le nombre de clusters
# si oui on réitère en modifiant la matrice de travail
# et ce jusqu'à ne plus arriver à réduire le nbr de clusters
            if (clustersNumber == matrix.shape[0]):
                continu = False
            else:
                nextMatrix = LouvainClusterer.buildNewSimilarityMatrix(
                    matrix, clusters, clustersNumber)
                matrix = nextMatrix
        return np.array(realClusters)