1. Uczyć się
  2. /
  3. Courses
  4. /
  5. Analiza sieci w Pythonie – poziom średniozaawansowany

Connected

Exercise

Znajdź najpopularniejsze fora dzień po dniu: II

Świetna robota w poprzednim ćwiczeniu – napisano w nim kod tworzący listę grafów szeregów czasowych. Teraz czas to dokończyć: sprawdzisz, ile forów uzyskało najwyższy wynik popularności w poszczególnych dniach!

Jedną z rzeczy, które tu zrobisz, jest „słownikowe wyrażenie składane" służące do filtrowania słownika. Działa podobnie jak listowe wyrażenie składane, ale jego składnia wygląda tak: {key: val for key, val in dict.items() if ...}. Miej to na uwadze!

Instrukcje

100 XP
  • Oblicz centralność stopnia za pomocą nx.bipartite.degree_centrality(), przekazując G_sub i forum_nodes jako argumenty.
  • Przefiltruj słownik tak, aby zawierał tylko centralności stopnia forów. Para key: val w wyrażeniu wyjściowym powinna mieć postać n, dc. Iteruj po dc.items() i sprawdź, czy n należy do forum_nodes.
  • Wskaż najpopularniejsze forum (lub fora) – powinno mieć najwyższą centralność stopnia (max(forum_dcs.values())), a jego wartość DC nie może być równa zero.
  • Dołącz najwyższe wartości dc do highest_dcs.
  • Utwórz wykresy!
    • Do pierwszego wykresu użyj wyrażenia składanego, w którym iterujesz po most_popular_forums (będącym listą list), używając forums jako zmiennej iteratora. Wyrażenie wyjściowe powinno zwracać liczbę najpopularniejszych forów, obliczoną za pomocą len().
    • Do drugiego wykresu użyj highest_dcs i plt.plot(), aby zwizualizować najwyższy wynik centralności stopnia.