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

Connected

exercițiu

Calcularea proiecției

Acum este momentul să exersezi calcularea proiecției unui graf bipartit pe nodurile uneia dintre partițiile sale. Aceasta este o bună ocazie de a te familiariza cu conversia dintre versiunea bipartită a unui graf și proiecțiile sale unipartite. Reține din videoclip că „proiecția" unui graf pe una dintre partiții reprezintă conectivitatea nodurilor din acea partiție, condiționată de conexiunile cu nodurile din cealaltă partiție. Concret, poți să te gândești la „conectivitatea clienților pe baza achizițiilor comune".

Pentru a te ajuta să începi, iată un indiciu despre listele comprehension. Acestea pot include condiții, astfel că, dacă vrei să filtrezi un graf după un anumit tip de nod, poți face: [n for n, d in G.nodes(data=True) if d['key'] == 'some_value'].

Instrucțiuni

100 XP
  • Pregătește lista de noduri people folosind o listă comprehension. Dacă valoarea cheii 'bipartite' a unui nod n din G este egală cu 'people', atunci acel nod trebuie inclus în listă.
  • Pregătește lista de noduri clubs iterând peste nodurile lui G, inclusiv metadatele. Aici trebuie să verifici dacă valoarea cheii 'bipartite' din dicționarul de metadate d este egală cu 'clubs'. Notă: Aceasta este pur și simplu o altă modalitate de a crea lista de noduri. Nu trebuie să iterezi peste metadate — poți urma aceeași abordare folosită pentru lista people, verificând 'clubs' în loc de 'people'. Îți cerem să folosești această variantă alternativă pentru a exersa ambele metode.
  • Folosește nx.bipartite.projected_graph() pentru a calcula proiecțiile pentru people și clubs. Stochează rezultatele în variabilele peopleG și clubsG.
    • Această funcție primește doi argumenți: graful G și lista de noduri.