Node bersama di partisi lain
Untuk membangun pemahaman Anda tentang sistem rekomendasi, kita akan mulai dari dasar-dasarnya. Fokus di sini adalah menghitung kemiripan pengguna dalam graf bipartit.
Tugas Anda adalah menulis fungsi yang menerima dua node dan mengembalikan himpunan node repositori yang sama-sama dimiliki oleh kedua node pengguna tersebut.
Anda akan menemukan metode dan fungsi berikut berguna dalam latihan ini—.neighbors(), set(), dan .intersection()—selain tentu saja fungsi shared_partition_nodes yang akan Anda definisikan!
Latihan ini merupakan bagian dari kursus
Analisis Jaringan Menengah di Python
Instruksi latihan
- Tulis fungsi bernama
shared_partition_nodes()yang menerima 3 argumen—grafG,node1, dannode2—dan mengembalikan himpunan node yang sama-sama dimiliki olehnode1dannode2.- Periksa bahwa
node1dannode2berada pada partisi yang sama menggunakan pernyataan assert dan kata kunci'bipartite'. - Peroleh tetangga dari
node1dan simpan sebagainbrs1. - Peroleh tetangga dari
node2dan simpan sebagainbrs2.
- Periksa bahwa
- Hitung irisan antara
nbrs1dannbrs2menggunakan metode himpunan.intersection(). - Cetak jumlah repositori yang sama-sama digunakan oleh pengguna
'u7909'dan'u2148'menggunakan fungsishared_partition_nodes()Anda bersama dengan fungsilen().
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
def ____:
# Check that the nodes belong to the same partition
assert G.nodes[____]['bipartite'] == G.nodes[____]['bipartite']
# Get neighbors of node 1: nbrs1
nbrs1 = ____
# Get neighbors of node 2: nbrs2
nbrs2 = ____
# Compute the overlap using set intersections
overlap = ____(____).____(____)
return overlap
# Print the number of shared repositories between users 'u7909' and 'u2148'
print(____(____))