es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Identificar los nodos más centrales en una red (usando Networkx)

Estoy intentando generar subgráficos que miren nodos específicos. Específicamente, me gustaría ver, usando diferentes colores y etiquetas, solo aquellos nodos que tienen centralidad de grado alta o centralidad de intermediación en mi gráfico. Sería aceptable usar un modelo de “Club de Karate de Zachary”, por ejemplo (mi gráfico es no dirigido).

Para calcular la centralidad de grado y la centralidad de intermediación, estoy utilizando las siguientes funciones (en NetworkX):

degCent = nx.degree_centrality(G)
betCent = nx.betweenness_centrality(G, normalized=True, endpoints=True)

Mi gráfico está formado por aproximadamente 5000 nodos (por lo que no es un gráfico muy grande) y solo estaría interesado en los 10 nodos principales basados ​​en la centralidad de grado y de intermediación, solo para ver con quiénes están conectados estos nodos y dónde se encuentran dentro del gráfico.

Mi enfoque sería seleccionar los 10 nodos principales basados en la centralidad de grado y la centralidad de intermediación asignando un color diferente (verde si están en los primeros 10 de la lista de centralidad de grado/intermediación; de lo contrario, rojo), filtrando los nodos dentro de la red para seleccionar solo los de interés (también asignándoles una etiqueta, solo para ver dónde se encuentran en la red).

Cualquier ayuda y sugerencia será absolutamente bienvenida.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Si estás buscando generar subgrafos de tu grafo basados en la centralidad de grado y de intermediación, puedes usar el siguiente enfoque:

    1. Calcula la centralidad de grado y la centralidad de intermediación de tu grafo usando las funciones nx.degree_centrality(G) y nx.betweenness_centrality(G, normalized=True, endpoints=True) de NetworkX respectivamente.
    2. Selecciona los 10 mejores nodos basados en la centralidad de grado y la centralidad de intermediación.
    3. Asigna un color diferente (verde si están en el top 10 de la lista de centralidad de grado/intermediación; de lo contrario rojo) y una etiqueta a cada nodo.
    4. Filtra los nodos dentro de la red para seleccionar solo aquellos de interés.

    Este enfoque debería ayudarte a generar los subgrafos que estás buscando.

Comments are closed.