Detail předmětu

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

IZV Ak. rok 2021/2022 zimní semestr 4 kredity

Aktuální akademický rok

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.

Garant předmětu

Koordinátor předmětu

Jazyk výuky

česky

Zakončení

klasifikovaný zápočet

Rozsah

  • 26 hod. přednášky
  • 13 hod. projekty

Bodové hodnocení

  • 100 bodů projekty

Zajišťuje ústav

Přednášející

Cvičící

Stránky předmětu

Aktuální informace jsou zveřejňovány na WIKI předmětu ve WISu.

Získané dovednosti, znalosti a kompetence z 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í.

Cíle předmětu

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.

Proč je předmět vyučován

Předmět si klade za cíl zvýšit uplatnění studentů na trhu práce, kde operace nad daty na různých úrovních nabývají stále většího významu, zejména uvážíme-li spojení s umělou inteligencí. Snahou je ukázat, jak efektivně využít existující frameworky a techniky napříč celým spektrem procesu zpracování a analýzy dat, tj. od získání dat samotných až po automatické generování zprávy prezentujícího výsledky datové analýzy, a tyto umět aplikovat v praxi, a to nejen v komerční sféře, ale také při řešení bakalářských a diplomových prací. 

Doporučené prerekvizity

Požadované prerekvizitní znalosti a dovednosti

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

Literatura studijní

  • 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)

Osnova přednášek

  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

Průběžná kontrola studia

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ů.

Kontrolovaná výuka

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.

Podmínky zápočtu

Získání minimálně 50 bodů celkem a minimálně 2 body z každé části projektu.

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

  • Program BIT, 3. ročník, volitelný
  • Program IT-BC-3, obor BIT, 3. ročník, volitelný
Nahoru