Mulai sekarangMulai gratis

Metrik kemiripan pengguna

Setelah Anda menulis fungsi untuk menghitung himpunan node yang dimiliki bersama oleh dua node, sekarang Anda akan menulis fungsi untuk menghitung sebuah metrik kemiripan antara dua pengguna: jumlah proyek yang sama-sama dimiliki oleh dua pengguna dibagi dengan total jumlah node pada partisi lainnya. Ini kemudian dapat digunakan untuk menemukan pengguna yang mirip satu sama lain.

Latihan ini merupakan bagian dari kursus

Analisis Jaringan Menengah di Python

Lihat Kursus

Instruksi latihan

  • Lengkapi fungsi user_similarity() untuk menghitung kemiripan antara user1 dan user2.
    • Gunakan pernyataan assert untuk memeriksa bahwa user1 dan user2 termasuk dalam partisi 'users'.
    • Gunakan fungsi shared_partition_nodes() yang Anda buat pada latihan sebelumnya untuk mendapatkan himpunan node yang sama-sama dimiliki oleh dua pengguna user1 dan user2.
    • Kembalikan fraksi node pada partisi projects. Artinya, bagi jumlah shared_nodes dengan total jumlah node pada partisi 'projects'.
  • Hitung skor kemiripan antara pengguna 'u4560' dan 'u1880'. Untuk melakukan ini:
    • Pertama, peroleh node pada partisi 'projects' menggunakan fungsi get_nodes_from_partition() Anda.
    • Lalu gunakan fungsi user_similarity() Anda untuk menghitung skornya.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

def user_similarity(G, user1, user2, proj_nodes):
    # Check that the nodes belong to the 'users' partition
    ____ G.nodes[____]['bipartite'] == '____'
    ____ G.nodes[____]['bipartite'] == '____'

    # Get the set of nodes shared between the two users
    shared_nodes = ____

    # Return the fraction of nodes in the projects partition
    return len(____) / len(____)

# Compute the similarity score between users 'u4560' and 'u1880'
project_nodes = ____
similarity_score = ____

print(similarity_score)
Edit dan Jalankan Kode