Mulai sekarangMulai gratis

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

Lihat Kursus

Instruksi latihan

  • Tulis fungsi bernama shared_partition_nodes() yang menerima 3 argumen—graf G, node1, dan node2—dan mengembalikan himpunan node yang sama-sama dimiliki oleh node1 dan node2.
    • Periksa bahwa node1 dan node2 berada pada partisi yang sama menggunakan pernyataan assert dan kata kunci 'bipartite'.
    • Peroleh tetangga dari node1 dan simpan sebagai nbrs1.
    • Peroleh tetangga dari node2 dan simpan sebagai nbrs2.
  • Hitung irisan antara nbrs1 dan nbrs2 menggunakan metode himpunan .intersection().
  • Cetak jumlah repositori yang sama-sama digunakan oleh pengguna 'u7909' dan 'u2148' menggunakan fungsi shared_partition_nodes() Anda bersama dengan fungsi len().

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(____(____))
Edit dan Jalankan Kode