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

Henüz birlikte düzenleme yapmamış ortak editörleri önermek

Son olarak, açık üçgen kavramını kullanarak GitHub'da birlikte çalışması için kullanıcılara önerilerde bulunacaksın!

Bu egzersiz, kursun bir parçasıdır

Python ile Ağ Analizine Giriş

Kursa Göz Atın

Egzersiz talimatları

  • Birbirleriyle işbirliği yapması önerilen GitHub kullanıcılarının bir listesini derle. Bunu yapmak için:
    • İlk for döngüsünde, G içindeki tüm düğümler üzerinde, metaveriler dahil (yani data=True belirterek) yineleme yap.
    • İkinci for döngüsünde, size değeri 2 olan combinations() işlevini kullanarak belirlenebilen tüm olası üçgen kombinasyonları üzerinde yineleme yap.
    • n1 ve n2 arasında kenar yoksa, bu iki düğümün (kullanıcının) işbirliği önerilmelidir; bu durumda recommended sözlüğünde (n1), (n2) değerini artır. n1 ve n2 arasında kenar olup olmadığını .has_edge() yöntemiyle kontrol edebilirsin.
  • Bir liste üreteci kullanarak, işbirliği önerilmesi gereken en iyi 10 kullanıcı çiftini belirle. Yineleyici recommended sözlüğünün anahtar-değer çiftleri olmalı ( .items() yöntemiyle erişebilirsin ) ve koşul, count değerinin all_counts içindeki ilk 10'dan büyük olmasıdır. all_counts artan sırada olduğundan, ilk 10'a all_counts[-10] ile erişebilirsin.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Import necessary modules
from itertools import combinations
from collections import defaultdict

# Initialize the defaultdict: recommended
recommended = defaultdict(int)

# Iterate over all the nodes in G
for n, d in ____:

    # Iterate over all possible triangle relationship combinations
    for n1, n2 in ____(list(G.neighbors(n)), ____):

        # Check whether n1 and n2 do not have an edge
        if not G.has_edge(____, ____):

            # Increment recommended
            ____[(____, ____)] += 1

# Identify the top 10 pairs of users
all_counts = sorted(recommended.values())
top10_pairs = [pair for pair, count in ____ if ____ > ____]
print(top10_pairs)
Kodu Düzenle ve Çalıştır