Detail předmětu

Zpracování a vizualizace dat v prostředí Python

FIT-IZVAk. rok: 2020/2021

Cílem předmětu je seznámit studenty s problematikou získávání, zpracování, analýzy a vizualizace dat. Z možných nástrojů byl zvolen multiplatformní skriptovací jazyk Python, který má propracovaný ekosystém nabízející bohaté spektrum rozšiřujících knihoven ať již ve formě nativního kódu či z pohledu výkonnosti efektivních nástaveb implementovaných v jazyce C/C++.
V rámci přednášek se studenti seznámí s konstrukcemi jazyka Python, metodami získávání, ukládání a manipulací s daty, možnostmi pokročilých výpočtů v numerické i symbolické rovině a vizualizací získaných dat. V předmětu studenti také získají přehled o vlastnostech technik pro pokročilou analýzu datových závislostí a jejich aplikací pro různá data. Na závěr budou ukázány možnosti rozšíření jazyka Python o vlastní konstrukce a techniky umožňující efektivně potlačit nevýhody interpretovaného jazyka pro potřeby aplikací orientovaných na výkonnost. V rámci praktické části (projektu) si studenti projdou všemi fázemi zpracování velkých dat - od fáze návrhu, přes zpracování až po následnou analýzu a vizualizaci.

Jazyk výuky

čeština

Počet kreditů

4

Výsledky učení předmětu

Student získá obecný přehled o základních i pokročilých metodách analýzy dat a základních i pokročilých aspektech jazyka Python, který se naučí používat ve spojení s moderními matematickými knihovnami a knihovnami pro pokročilou analýzu a modelování dat. Pochopí, jakým způsobem fungují techniky implementované v těchto knihovnách obecně a naučí se, na jaká data je která technika vhodná.
Kromě obecných znalostí základních technik zpracování dat student získá přehled o efektivním vykonávání kritických částí programu, rozšíření jazyka o vlastní moduly psané v C/C++ či problematice instalací knihoven do izolovaného prostředí či kontejnerů.
Student absolvováním předmětu pochopí, jak efektivně získávat, analyzovat a vizualizovat data různého rozsahu. Získané vědomosti může pak využít pro řešení netriviálních inženýrských a vědeckých úloh či pro vyhodnocování dat pro účely řízení a rozhodování.

Prerekvizity

Základní znalosti imperativního programování a algoritmizace, znalost základních pojmů a operací z lineární algebry (vektory, práce s maticemi, lineární operace apod.) a statistiky.
  • IZP - Základy programování
  • ILG - Lineární algebra
  • IPP - Principy programovacích jazyků a OOP
  • IPT - Pravděpodobnost a statistika

Způsob a kritéria hodnocení

Odevzdání projektu, jehož implementace se skládá ze tří částí (získání dat, předzpracování a analýza dat, generování zprávy). Každá část bude hodnocena samostatně. Student obdrží zpětnou vazbu ke své práci, kterou zapracuje do finálního řešení. První dvě části se odevzdávají v průběhu semestru a mohou být hodnoceny až 20 body každá. Za finální řešení lze získat až 60 bodů.
Podmínky zápočtu:
Získání minimálně 50 bodů celkem a minimálně 2 body z každé části projektu.

Učební cíle

Cílem předmětu je seznámit studenty s problematikou získávání, zpracování a analýzy dat v prostředí jazyka Python. V rámci předmětu bude jazyk Python představen jako nástroj pro efektivní manipulaci s daty.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Vypracování samostatného projektu. Cílem projektu je vytvořit skript, který z veřejně dostupných zdrojů získá data, nad kterými se provede analýza a tato se prezentuje formou zprávy. Hodnocení projektu zohlední kvalitu kódu, výsledné analýzy a vygenerované zprávy.

Doporučená literatura

Mark Pilgrim: Ponořme se do Pythonu 3 (ISBN: 978-80-904248-2-1, dostupné online)
Jake VanderPlas: Python Data Science Handbook (ISBN: 978-1-491-91205-8, dostupné v online zdrojích knihovny)
Samir Madhavan: Mastering Python for Data Science (ISBN: 978-17-843901-5-0)
Robert Johansson: Numerical Python (2019, ISBN: 978-1-4842-4245-2)

Zařazení předmětu ve studijních plánech

  • Program BIT bakalářský, 3. ročník, zimní semestr, volitelný

  • Program IT-BC-3 bakalářský

    obor BIT , 3. ročník, zimní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Úvod do jazyka I
  2. Úvod do jazyka II
  3. Získávání dat a datová perzistence
  4. Efektivní realizace operací nad n-dimenzionálními poli
  5. Nástroje pro pokročilou manipulaci s daty
  6. Základní přístupy k vizualizaci dat
  7. Základní metody analýzy dat a datových závislostí
  8. Pokročilé přístupy k vizualizaci dat
  9. Pokročilé metody analýzy dat a datových závislostí
  10. Práce s obrazovými daty a možnosti prezentace dat
  11. Pokročilé operace nad časovými řadami
  12. Výpočty v symbolické doméně
  13. Možnosti akcelerace kódu pro potřeby HPC

Projekt

13 hod., povinná

Vyučující / Lektor