Kullanıcı benzerliği metriği
İki düğüm arasında paylaşılan düğümler kümesini hesaplayan bir fonksiyon yazdın; şimdi iki kullanıcı arasındaki benzerliği hesaplayan bir benzerlik metriği fonksiyonu yazacaksın: iki kullanıcı arasında paylaşılan proje sayısının, diğer bölmedeki toplam düğüm sayısına bölünmesi. Bu metrik daha sonra birbirine benzeyen kullanıcıları bulmak için kullanılabilir.
Bu egzersiz
Python ile Orta Düzey Ağ (Network) Analizi
kursunun bir parçasıdırEgzersiz talimatları
user_similarity()fonksiyonunu tamamlayarakuser1veuser2arasındaki benzerliği hesapla.user1veuser2'nin'users'bölmesine ait olduğunu kontrol etmek içinassertifadeleri kullan.- Önceki egzersizde yazdığın
shared_partition_nodes()fonksiyonunu kullanarakuser1veuser2kullanıcıları arasında paylaşılan düğümler kümesini al. projectsbölmesindeki düğümlerin oranını döndür. Yani,shared_nodessayısını'projects'bölmesindeki toplam düğüm sayısına böl.
'u4560've'u1880'kullanıcıları arasındaki benzerlik skorunu hesapla. Bunu yapmak için:- Önce
get_nodes_from_partition()fonksiyonunu kullanarak'projects'bölmesindeki düğümleri elde et. - Ardından skoru hesaplamak için
user_similarity()fonksiyonunu kullan.
- Önce
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)