Mergulho profundo - rede do Twitter
Agora você vai fazer um mergulho profundo em uma rede do Twitter, o que vai ajudar a reforçar o que você aprendeu antes. Primeiro, você vai encontrar os nós que conseguem transmitir mensagens com muita eficiência para muitas pessoas a um grau de separação.
NetworkX já foi pré-importado para você como nx.
Este exercício faz parte do curso
Introdução à Análise de Redes em Python
Instruções do exercício
- Escreva uma função
find_nodes_with_highest_deg_cent(G)que retorne o(s) nó(s) com a maior centralidade de grau, seguindo os passos abaixo:- Calcule a centralidade de grau de
G. - Calcule a centralidade de grau máxima usando a função
max()emlist(deg_cent.values()). - Itere sobre o dicionário de centralidade de grau,
deg_cent.items(). - Se o valor de centralidade de grau
vdo nó atualkfor igual amax_dc, adicione-o ao conjunto de nós.
- Calcule a centralidade de grau de
- Use sua função para encontrar o(s) nó(s) com a maior centralidade de grau em
T. - Escreva uma asserção que verifique se o(s) nó(s) foi(foram) identificado(s) corretamente. Isso já foi feito para você, então clique em 'Enviar Resposta' para ver o resultado!
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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())