BaşlayınÜcretsiz başlayın

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, kursun bir parçasıdır

Python ile Orta Düzey Ağ (Network) Analizi

Kursa Göz Atın

Egzersiz talimatları

  • shared_partition_nodes() adlı, 3 argüman alan — bir grafik G, node1 ve node2 — ve node1 ile node2 arasında ortak olan düğümlerin kümesini döndüren bir fonksiyon yaz.
    • assert ifadesi ve 'bipartite' anahtar sözcüğünü kullanarak node1 ve node2'nin aynı bölüme ait olduğunu kontrol et.
    • node1'in komşularını al ve nbrs1 olarak sakla.
    • node2'nin komşularını al ve nbrs2 olarak sakla.
  • Kesişimi, kümenin .intersection() metodunu kullanarak nbrs1 ve nbrs2 arasında hesapla.
  • shared_partition_nodes() fonksiyonunu ve len() fonksiyonunu birlikte kullanarak 'u7909' ve 'u2148' kullanıcıları arasındaki ortak depo sayısını yazdır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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(____(____))
Kodu Düzenle ve Çalıştır