EmpezarEmpieza gratis

Análisis en profundidad: red de Twitter

Ahora vas a hacer un análisis en profundidad de una red de Twitter, que te ayudará a reforzar lo que has visto antes. Primero, vas a encontrar los nodos que pueden difundir mensajes de forma muy eficiente a muchas personas a un grado de separación.

NetworkX ya se ha importado como nx.

Este ejercicio forma parte del curso

Introducción al análisis de redes en Python

Ver curso

Instrucciones del ejercicio

  • Escribe una función find_nodes_with_highest_deg_cent(G) que devuelva el/los nodo(s) con la centralidad de grado más alta siguiendo estos pasos:
    • Calcula la centralidad de grado de G.
    • Calcula la centralidad de grado máxima usando la función max() sobre list(deg_cent.values()).
    • Itera sobre el diccionario de centralidad de grado, deg_cent.items().
    • Si el valor de centralidad de grado v del nodo actual k es igual a max_dc, añádelo al conjunto de nodos.
  • Usa tu función para encontrar el/los nodo(s) con mayor centralidad de grado en T.
  • Escribe una aserción que compruebe que el/los nodo(s) se identifica(n) correctamente. Esto ya está hecho por ti, así que pulsa "Enviar respuesta" para ver el resultado.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Define find_nodes_with_highest_deg_cent()
def find_nodes_with_highest_deg_cent(G):

    # Compute the degree centrality of G: deg_cent
    deg_cent = ____

    # Compute the maximum degree centrality: max_dc
    max_dc = ____

    nodes = set()

    # Iterate over the degree centrality dictionary
    for k, v in ____:

        # Check if the current value has the maximum degree centrality
        if ____ == ____:

            # Add the current node to the set of nodes
            ____

    return nodes

# Find the node(s) that has the highest degree centrality in T: top_dc
top_dc = ____
print(top_dc)

# Write the assertion statement
for node in top_dc:
    assert nx.degree_centrality(T)[node] == max(nx.degree_centrality(T).values())
Editar y ejecutar código