2017-04-24 1 views
0

J'essaye de faire la course par lots de la partition modulaire de luffain de python de mon réseau atleast 100 fois. Je dois sauvegarder les partitions et enregistrer le score de modularité après la partition. Y a-t-il un moyen de les obtenir toutes les deux? J'ai essayé la documentation et l'exemple et il retourne seulement les partitions mais aucune statistique de modularité. Veuillez me diriger vers la bonne direction et je serai extrêmement reconnaissant pour votre aide.Statistique de modularité de Python en utilisant le paquet de louvain

Répondre

1

Vous pouvez calculer le score de modularité à l'aide igraph.Graph.community():

import igraph 

g = igraph.Graph.Erdos_Renyi(n=100, p=0.1) 
clusters = g.community_multilevel() 
modularity_score = g.modularity(clusters.membership) 
+0

Merci pour votre réponse. CA aide. J'ai pu obtenir les adhésions et la modularité du cluster en même temps pour mon réseau. Une question que j'ai est quand j'exécute find_parition sur mon graphe pondéré et imprime la variable contenant les partitions, je vois mes étiquettes de noeud et dans quel groupe ils sont, mais quand j'imprime juste variable.membership je vois des nombres de grappe dans une liste. – mparida

+0

Y at-il un moyen pour moi d'accéder à la structure de données de ma variable qui contient toutes les étiquettes de mes noeuds et à quel groupe ils appartiennent. Sinon, puis-je supposer que le variable.memberships est dans le même ordre que ma liste de nœuds quand je les ai ajoutés au graphique. Je suis très reconnaissant de votre préoccupation. – mparida

+0

Les affectations de cluster dans 'clusters.membership' sont dans le même ordre que les nœuds dans' igraph.Graph.vs' (dans l'exemple 'g.vs'), qui devrait être l'ordre dans lequel vous avez ajouté les nœuds. Imprimez simplement 'g.vs.indices' si vous voulez vérifier l'ordre des nœuds. – Paul