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.
Garant předmětu
Zajišťuje ústav
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
Doporučená nebo povinná literatura
Mark Pilgrim: Ponořme se do Pythonu 3 (ISBN: 978-80-904248-2-1, online resource, in Czech)
Jake VanderPlas: Python Data Science Handbook (ISBN: 978-1-491-91205-8, available in online library resources)
Samir Madhavan: Mastering Python for Data Science (ISBN: 978-17-843901-5-0)
Robert Johansson: Numerical Python (2019, ISBN: 978-1-4842-4245-2)
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.
Jazyk výuky
čeština
Cíl
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.
Typ (způsob) výuky
Přednáška
26 hod., nepovinná
Vyučující / Lektor
Osnova
- Ú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