Diğer bölümdeki ortak düğümler
Öneri sistemleri kavramını adım adım kurmak için temellerden başlayacağız. Burada odak, iki parçalı (bipartite) graflarda kullanıcı benzerliğini hesaplamak.
Görevin, iki düğüm alan ve iki kullanıcı düğümü arasında ortak olan depo düğümlerinin kümesini döndüren bir fonksiyon yazmak.
Bu egzersizde aşağıdaki metot ve fonksiyonlar işine yarayacak: .neighbors(), set() ve .intersection() — tabii tanımlayacağın shared_partition_nodes fonksiyonuna ek olarak!
Bu egzersiz
Python ile Orta Düzey Ağ (Network) Analizi
kursunun bir parçasıdırEgzersiz talimatları
shared_partition_nodes()adlı, 3 argüman alan — bir grafikG,node1venode2— venode1ilenode2arasında ortak olan düğümlerin kümesini döndüren bir fonksiyon yaz.assertifadesi ve'bipartite'anahtar sözcüğünü kullanaraknode1venode2'nin aynı bölüme ait olduğunu kontrol et.node1'in komşularını al venbrs1olarak sakla.node2'nin komşularını al venbrs2olarak sakla.
- Kesişimi, kümenin
.intersection()metodunu kullanaraknbrs1venbrs2arasında hesapla. shared_partition_nodes()fonksiyonunu velen()fonksiyonunu birlikte kullanarak'u7909've'u2148'kullanıcıları arasındaki ortak depo sayısını yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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(____(____))