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
Instruções do exercício
- Importe
matplotlib.pyplotcomoplt. - Use sua função
get_nodes_from_partition()do exercício anterior para obter uma lista chamadauser_nodescorrespondente aos nós'users'deG. - Usando a função
nx.degree_centrality(), calcule as centralidades de grau de cada nó emG. Armazene o resultado comodcs. - Use um list comprehension para calcular as centralidades de grau de cada nó em
user_nodes. Armazene o resultado comouser_dcs.- Lembre-se:
dcsé um dicionário, no qual as chaves são os nós. Os nós relevantes aqui estão emuser_nodes. Como você pode usar essa informação para obter as centralidades de grau dos nós de usuários? Usencomo sua variável iteradora.
- Lembre-se:
- Plote um histograma da distribuição de grau dos usuários usando
plt.hist()euser_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()