• Nie Znaleziono Wyników

Techniki Analizy Sieci Społecznych

N/A
N/A
Protected

Academic year: 2022

Share "Techniki Analizy Sieci Społecznych"

Copied!
9
0
0

Pełen tekst

(1)

13.01.2019

Michał Olechno Waldemar Kołodziejczyk

Techniki Analizy Sieci Społecznych

Temat nr ​18, wariant 1

“Oceń, czy istnieją związki pomiędzy członkostwem państw w sojuszach a typem posiadanego przez nie uzbrojenia.”

https://github.com/KolodziejczykWaldemar/Tanks_Alliances

(2)

Technologie w aplikacji ​Tanks and Alliances Tool

Program został napisany w języku Python 3.6. Aplikacja przechowuje zebrane dane w bazie danych SQLite. Poniższa tabela prezentuje wykorzystane biblioteki:

Biblioteka Wersja Przeznaczenie

beautifulsoup4 4.6.3 pobieranie kodu HTML, web scraping, parsowanie HTML requests 2.20.1

urllib3 1.24.1

pandas 0.23.4 przetwarzanie danych, obróbka i prezentacja grafów

numpy 1.15.4

networkx 2.2

scipy 1.2.0

seaborn 0.9.0 wizualizacja wyników matplotlib 3.0.2

PyQt5 5.11.3 GUI aplikacji

SQLAlchemy 1.2.15 framework ORM do komunikacji z bazą danych SQLite

(3)

Pozyskanie danych (web scrapping)

Informacje o krajach posiadających czołgi pozyskano ze strony

https://en.wikipedia.org/wiki/List_of_main_battle_tanks_by_country?fbclid=IwAR25WN7hHlJ BlW95dXEGYNKhzYlKwef7MNpJwQVkW1FVJFfjC2EJfVUJzkY​ na której można było znaleźć listę tabel uszeregowanych alfabetycznie pod względem nazwy kraju posiadającego czołg (nazwany na potrzeby aplikacji ‘owner’). Dla każdego kraju można było znaleźć nazwę czołgu, jego ilość oraz kraj pochodzenia (nazwany na potrzeby aplikacji ‘seller’). Poniżej zrzut ekranu reprezentujący przykładową tabelę:

Jak widać na powyższej grafice, postać tabeli nastręczała wielu trudności przy parsowaniu, przede wszystkim:

- ilość czołgów nie zawsze była liczbą, zdarzały się znaki typu ‘~’, ‘+’, ‘circa’, ‘about’

- typ czołgu nie zawsze był nazywany konsekwentnie np. ‘T-55’ vs ‘T - 55’

- na końcach stringów oznaczających nazwy państw zdarzały się niekontrolowane spacje lub znaki przypisu ‘[x]’

- dla niektórych krajów dane nie były odpowiednio sformatowane np. dla ‘Belgium’ czy

‘Benin’, jak na grafice powyżej

Część danych udało się sformatować, np. usuwanie niekontrolowanych spacji, oznaczeń przypisów. W miejscach, gdzie komórki były scalane, np. przy nazwie państwa,

implementacja odpowiedniego algorytmu obsługującego takie wiersze była szczególnym utrudnieniem. Mimo wszystko, zostało to wykonane.

Pobranie informacji dotyczących sojuszy udało się poprzez ściągnięcie gotowego pliku *.csv z internetu

(​http://www.correlatesofwar.org/data-sets/formal-alliances?fbclid=IwAR3-EOhQzjg4-yr5N_na

(4)

QrcX6OEu3WhiXn1XeVfY81ued_FT1cL7uECE_cs​). Po oględzinach zbioru danych nie stwierdzono żadnych problemów, które taki zbiór mógłby generować w kontekście tworzonej aplikacji.

Struktura bazy danych SQLite:

W fazie projektowania aplikacji zdecydowano, że aby zapewnić przenośność programu użytkownikom oraz zważając na fakt, że baza danych ma za zadanie przechowywać jedynie około 20000 rekordów, najlepszym rozwiązaniem będzie SQLite. Aplikacja do komunikacji z bazą danych wykorzystuje ORM SQLAlchemy, zapewniając w ten sposób wygodę i

optymalizację w pisaniu zapytań.

Poniżej grafika reprezentująca strukturę bazy SQLite oraz zrzut ekranu z ​SQLite Database Browser​:

(5)

Scenariusze użycia aplikacji:

1. Wyświetlanie grafów

Użytkownik ma do wyboru graf reprezentujący kupców i sprzedawców czołgów (‘All Tanks’) oraz sojuszników (‘All Alliances’). Dla każdego z wyboru można wyspecyfikować rozmiar rdzenia grafu. W przypadku, gdy pole nie jest uzupełnione, aplikacji domyślnie wyświetli cały graf.

Użytkownik może wybrać z listy typ grafu do wygenerowania:

- połączeń pomiędzy kupcami i sprzedawcami czołgów (np. dla rdzenia o wielkości 3)

(6)

- sojuszy między krajami w zależności od roku rozpoczęcia współpracy krajów (np. od roku 1950 oraz dla rdzenia wielkości 30)

2. Analiza dla wybranego kraju:

Po wpisaniu kraju (np. ‘Poland’) aplikacja generuje interaktywne wykresy w zależności od wyboru użytkownika w checkboxach.

Użytkownik ma możliwość zapisu wykresu na swój komputer. Są to wykresy przedstawiające:

(7)

- ilość czołgów posiadanych przez dany kraj

- ilość wszystkich czołgów, które posiadają sojusznicy

(8)

- ilość wszystkich czołgów posiadanych przez kraje, które sprzedawały wybranemu krajowi pojazdy

3. Wykresy dotyczące posiadaczy wybranego typu czołgu

Użytkownik wybiera z listy czołgów jeden, dla którego aplikacja wyświetli wszystkie kraje, które posiadają wybrany model oraz ich ilość.

Po naciśnięciu przycisku ‘Draw the tank’, użytkownik zobaczy poniższy wykres:

(9)

Cytaty

Powiązane dokumenty

Płyta główna – wybierz jeden model i wklej zrzut ekranu poniżej (wysokość 13cm).. Kliknij na polu poniżej i wklej zrzut ekranu o

Proszę narysuj swój projekt instalacji i wyślij mi zdjęcie do dnia 24 maja na adres jerzysowa.jr@gmail.com Konsultacje – jeśli chcesz się podzielić swoją pracą

Pewna maszyna jeździ na napędzie dwukołowym, przy czym jedno z nich ma średnicę

Przywódca Związku Radzieckiego – Józef Stalin miał ogromny wpływ na rządy w Polsce.. Całe życie kraju i jego obywateli było uzależnione

Uprzejmie informujemy, iż w roku szkolnym 2005/2006 w środy o 16 00 w Insty- tucie Fizyki UJ odbywać się będą wykłady i pokazy dla młodzieży szkół średnich, jak również

Średnie ( ) oraz odchylenie standardowe (sd) wydajności mlecznej 305-dniowej oraz zawartości tłuszczu, białka i suchej masy u krów rasy simentalskiej w zależności od

Przy włączonej niani elektronicznej zapisany numer (wewnętrzny lub zewnętrzny) zostaje wywołany, gdy tylko w otoczeniu słuchawki zostanie przekroczony określony poziom hałasu.

Sta- nowi jednak bardzo dobrą alternatywę dla wielu kursów i szkoleń tradycyjnych, których program, choć mocno osadzo- ny w teorii, często okazuje się mieć nikłe przełożenie