1. Learn
  2. /
  3. Cursuri
  4. /
  5. Analiză intermediară a rețelelor în Python

Connected

exercițiu

Apartenența comună: transpunerea matricei

Probabil ai observat deja că, atunci când treci la o reprezentare prin matrice rară, pierzi metadatele grafului. Acum vei învăța cum să recuperezi aceste metadate, astfel încât să poți afla mai multe informații despre apartenența comună.

user_matrix calculată în exercițiul anterior a fost preîncărcată în spațiul tău de lucru.

Aici îți va fi utilă funcția np.where(). Iată ce face: primind un array, de exemplu a = [1, 5, 9, 5], dacă vrei să obții indicii unde valoarea este egală cu 5, poți folosi idxs = np.where(a == 5). Aceasta returnează un array într-un tuplu: (array([1, 3]),). Pentru a accesa acești indici, indexează tuplul folosind idxs[0].

Instrucțiuni

100 XP
  • Află numele persoanelor care au fost membre în cel mai mare număr de cluburi.
    • Pentru aceasta, calculează mai întâi diag aplicând metoda .diagonal() pe user_matrix.
    • Apoi, folosind np.where(), selectează indicii unde diag este egal cu diag.max(). Aceasta returnează un tuplu: asigură-te că accesezi indicii relevanți indexând tuplul cu [0].
    • Iterează peste indices și afișează fiecare index i din people_nodes folosind funcția print() furnizată.
  • Setează diagonala la zero și convertește matricea în „formatul coordonat de matrice rară". Acest cod îți este deja furnizat în răspuns.
  • Găsește perechile de utilizatori care au împărțit apartenența în cel mai mare număr de cluburi.
    • Folosind np.where(), accesează indicii unde users_coo.data este egal cu users_coo.data.max().
    • Iterează peste indices2 și afișează fiecare index idx din users_coo.row și users_coo.col ale lui people_nodes.