Detail předmětu
Zpracování a vizualizace dat v prostředí Python
IZV Ak. rok 2023/2024 zimní semestr 4 kredity
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
Zakončení
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.
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.
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í.
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
- Lineární algebra (ILG)
- Principy programovacích jazyků a OOP (IPP)
- Pravděpodobnost a statistika (IPT)
- Základy programování (IZP)
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
- Úvod do jazyka I
- Úvod do jazyka II
- Získávání dat a datová perzistence
- Efektivní realizace operací nad n-dimenzionálními poli
- Nástroje pro pokročilou manipulaci s daty
- Základní přístupy k vizualizaci dat
- Základní metody analýzy dat a datových závislostí
- Pokročilé přístupy k vizualizaci dat
- Pokročilé metody analýzy dat a datových závislostí
- Práce s obrazovými daty a možnosti prezentace dat
- Pokročilé operace nad časovými řadami
- Výpočty v symbolické doméně
- Možnosti akcelerace kódu pro potřeby HPC
Osnova ostatní - projekty, práce
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.
Průběžná kontrola studia
Hodnocení je uděleno na základě samostatně vypracovaného a odevzdaného 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 je 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.
Způsob kontaktu s vyučujícím
Po dohodě emailem.
Zařazení předmětu ve studijních plánech