python - matriz - Teoría de gráficos en Networkx
matriz de adyacencia python (2)
Estoy empezando a usar esta interfaz ahora, tengo algo de experiencia con Python pero nada extensa. Estoy calculando la transitividad y la estructura de la comunidad de un pequeño gráfico:
import networkx as nx
G = nx.read_edgelist(data, delimiter=''-'', nodetype=str)
nx.transitivity(G)
#find modularity
part = best_partition(G)
modularity(part, G)
Obtuve la transitividad sin problemas, sin embargo, existe el siguiente error al calcular la modularidad.
NameError: name ''best_partition'' is not defined
Acabo de seguir la documentación proporcionada por el sitio de networkx, ¿hay algo que estoy haciendo mal?
Acabo de encontrar el mismo error NameError: name ''best_partition'' is not defined
cuando se utiliza este código de ejemplo.
Este error ocurre porque networkx.py
mi archivo python como networkx.py
, luego cuando ejecutamos este programa
import networkx as nx
Este programa puede importar el networkx
que definimos en lugar de la biblioteca. En el programa, best_partition
no está definido. Entonces este error ocurre
Tener el mismo nombre con la biblioteca no es apropiado. ¡Tal vez deberías verificar esto!
Por lo que puedo decir, best_partition
no es parte de networkx. Parece que desea utilizar https://sites.google.com/site/findcommunities/, que puede instalar desde https://bitbucket.org/taynaud/python-louvain/src
Una vez que haya instalado la community
intente este código:
import networkx as nx
import community
import matplotlib.pyplot as plt
G = nx.random_graphs.powerlaw_cluster_graph(300, 1, .4)
nx.transitivity(G)
#find modularity
part = community.best_partition(G)
mod = community.modularity(part,G)
#plot, color nodes using community structure
values = [part.get(node) for node in G.nodes()]
nx.draw_spring(G, cmap = plt.get_cmap(''jet''), node_color = values, node_size=30, with_labels=False)
plt.show()
editar: Cómo instalé la biblioteca de detección de la comunidad
ryan@palms ~/D/taynaud-python-louvain-147f09737714> pwd
/home/ryan/Downloads/taynaud-python-louvain-147f09737714
ryan@palms ~/D/taynaud-python-louvain-147f09737714> sudo python3 setup.py install