Adatelemzés a gyakorlatban Python Pandas és Scikit-learn alapokon

A tantárgy angol neve: Data Analysis in Practice Using Python Pandas and Scikit-learn

Adatlap utolsó módosítása: 2023. május 4.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Villamosmérnöki szak
Mérnökinformatikus szak
Szabadon választható tantárgy
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITMAV77   2/0/2/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Biró József,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Bíró József

egyetemi tanár

BME TMIT

Hollósi Gergely László

tudományos segédmunkatárs

BME TMIT

Frankó Attila Ernő

doktorandusz

BME TMIT

Ficzere Dániel

doktorandusz

BME TMIT

5. A tantárgy az alábbi témakörök ismeretére épít

Python programozás alapjai, valószínűségszámítás és lineáris algebra alapjai

6. Előtanulmányi rend
Ajánlott:

Kötelező előtanulmányi rend nincs.

7. A tantárgy célkitűzése

A tantárgy célkitűzése megismertetni a hallgatókkal a tipikus modern adatelemzési feladatok során használt Pandas és Scikit-learn Python csomagokat. A tantárgy egyszerű és összetett adatelemzési feladatokat mutat be, nagy hangsúlyt fektetve a gyakorlatra, megmutatva az adatelemzés során gyakran előforduló alapvető feladatokat, mint az adatok betöltése, szűrése, tisztítása, az adatok alapvető statisztikáinak kinyerése, alapvető regressziós és osztályozó modellek illesztése és az eredmények vizualizációinak feladatait. A tantárgy elvégzése után a hallgató képes lesz a mérnöki és gazdasági feladatok során felmerülő adatelemzési feladatok alapvető elvégzésére, egyszerű Data Analyst feladatok végrehajtására Python nyelven, valamint tantárgy hasznos alapokat nyújt a későbbiekben mélytanuláshoz szükséges adatok előkészítésében és előállításában is.

8. A tantárgy részletes tematikája 1.    Bevezetés, tantárgykövetelmények ismertetése. Adattudomány áttekintése, karrierirányok (Data Engineer, Analyst, Scientists, stb.), feladatok.
2.    Adatinfrasturkúrák, adattárak (warehouse) és adattavak (data lake). Adatmodellek, ETL műveletek, esettanulmány.
3.    Bevezetés a Pandas könyvtár használatába. Adatsorok, az index fogalma. Műveletek adatsorokon, adatsorok létrehozása és módosítása. Adatsorok leíró statisztikái, transzformálás, szűrés. Iterálás.
4.    Adatkeretek fogalma. Adatkeretek létrehozása, betöltése fájlból, az index. Kiválasztás név, sor és feltételek alapján. Véletlen mintavételezés. Összetett lekérdezések.
5.    Adatkeretek összetett indexelése, adatkeretek összeolvasztása és társítása.
Hiányzó adatok kezelése. Szöveges, numerikus és kategorikus adatok kezelése Pandasban.
6.    Ablakozott statisztikák Pandasban. Kumulatív összeg, medián, stb.
Idősorok, dátum funkcionalitás Pandasban. Időkülönbség. Adatbázis lekérdezések Pandasban (SQL, MongoDB).
7.    Alapvető ábrázolási feladatok Seaborn segítségével. Vonal, pont és oszlopdiagram. Boxplot és értelmezése. Bizonytalanság jelzése.
8.    Scikit-learn csomag felépítése. Lineáris regresszió fogalma, a Lasso és Ridge regresszió. A regresszió végrehajtása, az eredmények értelmezése.
9.    One-hot-coding és dummy változók Scikit-learnben, regresszió dummy változók alapján.
10.    Osztályozási feladat célja és fogalma. Legközelebbi szomszéd osztályozók. Az osztályozás kiértékelése, metrikák, keveredési mátrix. Naiv Bayes osztályozók és döntési fák scikit-learn-ben. Az osztályozók tanítása, predikciók.
11.    Lineáris látens terek, dimenziócsökkentés (PCA) scikit-learn-ben. Klaszterezési megoldások.
12.    Modell választás megoldási lehetőségei Scikit-learn segítségével. Modell validáció, metrikák.
13.    Apache Spark, mint analitikai eszköz. A nagy méretű adattárak adatfeldolgozási problémái. Pandas API Sparkban, egyszerű adatfeldogozási technikák.
14.    Dashboard fogalma, célja. Dashboard Pythonban, példák.

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás és gyakorlat. Az előadáson elmondott ismereteket a tantermi gyakorlatokon esettanulmányok, elemzési példák és szoftver eszközök bemutatása egészíti ki.
10. Követelmények 1.    A szorgalmi időszakban: a házi feladat legalább elégséges szinten való megoldása szükséges az aláíráshoz.
2.    A vizsgaidőszakban: írásbeli és szóbeli vizsga, ahol az érdemjegy a házi feladat megvédésének eredményétől és az írásbeli vizsga eredményétől függ, legalább 40%-ot kell elérni az elégséges jegyhez.

11. Pótlási lehetőségek A házi feladat a pótlási időszakban pótolható.
12. Konzultációs lehetőségek Előadások idejében, illetve előre egyeztetett időpontban.
13. Jegyzet, tankönyv, felhasználható irodalom Wes McKinney: Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, O'Reilly Media, Inc., Second Edition, 2017.

Ai Publishing. Python scikit-learn for beginners: Scikit-learn specialization for data scientist. AI Publishing., 2021

Thomas Nield: Essential Math for Data Science: Take Control of Your Data with Fundamental Linear Algebra, Probability, and Statistics, O’Reilly Media Inc., 2022.

Peter Bruce, Andrew Bruce, Peter Gedeck: Practical Statistics for Data Scientists: 50+ Essential Concepts Using R and Python, O’Reilly Media Inc., Second Edition, 2020.

C.M. Bishop: Pattern Recognition and Machine Learning, Springer, 2006.

A tantárgyhoz készült elektronikus “Jupyter notebook”-ok. Pandas és Scikit-learn referenciaanyagok.

Ezen kívül a szükséges segédanyagokat elektronikus formában elérhetővé tesszük a tantárgy oldalán.

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra20
Felkészülés zárthelyire0
Házi feladat elkészítése12
Kijelölt írásos tananyag elsajátítása0
Vizsgafelkészülés32
Összesen120
15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Bíró József

egyetemi tanár

BME TMIT

Hollósi Gergely László

tudományos segédmunkatárs

BME TMIT