programacion matriz librerias implementacion grafos grafo generar dirigido con aleatorios adyacencia python graph networkx

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