Distribusi degree centrality untuk simpul pengguna
Dalam latihan ini dan latihan berikutnya, Anda akan meninjau kembali materi dari kursus sebelumnya. Tugas Anda adalah memplot distribusi degree centrality untuk setiap partisi simpul dalam versi bipartit dari jaringan kolaborasi GitHub. Di sini, Anda akan melakukannya untuk partisi 'users'. Pada latihan berikutnya, Anda akan melakukannya untuk partisi 'projects'.
Fungsi yang telah Anda tulis sebelumnya, get_nodes_from_partition(), sudah dimuat untuk Anda. Sebagai pengingat, "degree centrality" adalah ukuran pentingnya suatu simpul, dan "distribusi degree centrality" adalah daftar skor degree centrality untuk semua simpul dalam graf. Beberapa latihan yang lalu, saat Anda membuat plot circos, kami telah menghitung degree centrality untuk Anda. Sekarang, Anda akan berlatih melakukannya sendiri!
Latihan ini merupakan bagian dari kursus
Analisis Jaringan Menengah di Python
Instruksi latihan
- Impor
matplotlib.pyplotsebagaiplt. - Gunakan fungsi
get_nodes_from_partition()dari latihan sebelumnya untuk mendapatkan daftar bernamauser_nodesyang sesuai dengan simpul'users'dariG. - Dengan fungsi
nx.degree_centrality(), hitung degree centrality untuk setiap simpul diG. Simpan hasilnya sebagaidcs. - Gunakan list comprehension untuk menghitung degree centrality bagi setiap simpul di
user_nodes. Simpan hasilnya sebagaiuser_dcs.- Ingat,
dcsadalah sebuah dictionary, di mana kuncinya adalah simpul. Simpul yang relevan di sini terdapat dalamuser_nodes. Bagaimana Anda dapat menggunakan informasi ini untuk memperoleh degree centrality dari simpul pengguna? Gunakannsebagai variabel iterator Anda.
- Ingat,
- Plot histogram distribusi degree untuk pengguna, menggunakan
plt.hist()danuser_dcs.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()