ComeçarComece de graça

Distribuição da centralidade de grau dos nós de usuários

Neste exercício e no próximo, você vai fazer uma revisão final do conteúdo do curso anterior. Sua tarefa é plotar as distribuições de centralidade de grau para cada partição de nós na versão bipartida da rede de colaboração do GitHub. Aqui, você fará isso para a partição 'users'. No próximo exercício, você fará isso para a partição 'projects'.

A função que você escreveu antes, get_nodes_from_partition(), já foi carregada para você. Relembrando: a “centralidade de grau” é uma medida de importância do nó, e a “distribuição de centralidade de grau” é a lista de pontuações de centralidade de grau de todos os nós do grafo. Alguns exercícios atrás, quando você fez o circos plot, nós calculamos as centralidades de grau para você. Agora, você vai praticar como fazer isso por conta própria!

Este exercício faz parte do curso

Análise de Redes Intermediária em Python

Ver curso

Instruções do exercício

  • Importe matplotlib.pyplot como plt.
  • Use sua função get_nodes_from_partition() do exercício anterior para obter uma lista chamada user_nodes correspondente aos nós 'users' de G.
  • Usando a função nx.degree_centrality(), calcule as centralidades de grau de cada nó em G. Armazene o resultado como dcs.
  • Use um list comprehension para calcular as centralidades de grau de cada nó em user_nodes. Armazene o resultado como user_dcs.
    • Lembre-se: dcs é um dicionário, no qual as chaves são os nós. Os nós relevantes aqui estão em user_nodes. Como você pode usar essa informação para obter as centralidades de grau dos nós de usuários? Use n como sua variável iteradora.
  • Plote um histograma da distribuição de grau dos usuários usando plt.hist() e user_dcs.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Import matplotlib
____

# Get the 'users' nodes: user_nodes
user_nodes = ____

# Compute the degree centralities: dcs
dcs = ____

# Get the degree centralities for user_nodes: user_dcs
user_dcs = [dcs[____] for n in ____]

# Plot the degree distribution of users_dcs
plt.yscale('log')
plt.hist(____, bins=20)
plt.show()
Editar e executar o código