2024-programowanie-w-python.../README.md
2024-12-07 11:54:47 +01:00

80 lines
4.2 KiB
Markdown

# Analiza i wizualizacja danych w Pythonie
Materiały do zajęć Analiza i wizualizacja danych w Pythonie prowadzone na Wydziale Matematyki i Informatyki UAM w ramach studiów podyplomowych Przetwarzanie danych - Big Data. Kurs 2024/2025
## Informacja o przedmiocie
Prowadzący:
- dr inż. Jakub Pokrywka. Kontakt przez komunikator MS TEAMS lub mailowy (jakub.pokrywka@amu.edu.pl).
- mgr Anna Kaluba
## Materiały do przedmiotu
Program jest cześciowo wzorowany na https://github.com/tomekd/python . Spora cześć zadań się pokrywa, ale nie wszystkie.
Do nauki można wykorzystać wiele tutoriali internetowych python (w wersji python3). Pomocne mogą byc w szczególności:
* [https://docs.python.org/3/](Dokumentacja pythona)
* Learning Python, 5th Edition by Lutz, Mark
* [datacamp.com](https://datacamp.com): Portal DataCamp zawiera wiele interaktywych kursów nt. poszczególnych elementów języka Python (również dla języka R.).
* [Python3: From None to Machine Learning](https://python.astrotech.io/)
* [Real Python](https://realpython.com/)
* [Dive in Python](https://diveintopython3.net/): Klasyczny kurs programowania w Pythonie.
* [Filmy na Youtubie](https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6): seria filmów od Microsoftu nt. podstaw programowania w Pythonie.
* [Automate the boring stuff with python](https://automatetheboringstuff.com/)
## Ogólny Plan zajęć
- Zajęcia 1 - Wprowadzenie do python 1/2
- Zajęcia 2 - Wprowadzenie do python 2/2
- Zajęcia 3 - pandas
- Zajęcia 4 - numpy
- Zajęcia 5 - scikit-learn 1
- Zajęcia 6 - scikit-learn 2
- Zajęcia 7 - przetwarzanie tekstu w python
- Zajęcia 8 - przetwarzanie obrazów w python
- Zajęcia 9 - zajęcia z analizy wizualizacji danych
- Zajęcia 10 - zajęcia z analizy wizualizacji danych
- Zajęcia 11 - zajęcia z analizy wizualizacji danych
- Zaliczenie - Zaliczenie przedmiotu 8 luty 14:30-16.45
## Zaliczenie przedmiotu
### Forma
- Projekt wykonujemy w grupach (1-3) osoby
- Kod źródłowy powinien być umieszczony na git wraz z plikiem `environment.yml` przeznaczonym do instalacji środowiska dla conda
- Prezentacja całego projektu powinna trwać 12 minut przy pomocy powerpoint lub jupyter notebook
- Zachęcam do stworzenia bardziej rozbudowanego projektu bazującego na Państwa zainteresowaniach
- Proszę uwzględnić, że dodatkowo należy będzie pokazać repozytorium kodu
### Zadania
- Należy wybrać interesujący zbiór danych (akceptacja grup oraz zbioru danych przez prowadzącego na drugich lub trzecich zajęciach). Np. dane tabularyczne (conajmniej 15 kolumn jeżeli jedna tabelka, może być również kilka tabelek), moga być również dane tekstowe lub obrazkowe.
- zaprezentować analizę tego zbioru danych (tabelki, wykresy, wnioski) w max 12 minut- zaliczenie na ocenę
- Należy wytrenować prosty model uczenia maszynowego (lub użyć gotowego modelu) i zaprezentować jego wyniki na zbiorze testowym. Jakość modelu nie będzie oceniana, ale powinien radzić sobie lepiej niż bardzo prosty model (klasa większościowa dla klasyfikacji lub średnia dla regresji)- zaliczenie na ocenę 4
### Skala ocen
3 - kod i environment.yml w repozytorium, omówienie zbioru, ogólna analiza, statystki opisowe (wskaźniki + tabelki), conajmniej 3 różne wizualizacje (np. barplot, scatterplot, violinplot- powinny być poprawne wzgledem danej zmiennej)
4 - to co na 4 oraz conajmniej 5 różnych wizualizacje (np. barplot, scatterplot, violinplot, heatmapa, w tym choć jeden bardziej zaawansowany), model uczenia maszynowego w sklearn
5 - to co na 5 oraz conajmniej 2 zaawansowane wykresy/raporty w quarto
Termin oddania zadań do będzie jeszcze podany.
## Dodatkowe materiały
### jupyter notebook
- https://noteable.io/blog/jupyter-notebook-shortcuts-boost-productivity/
### bash
- https://www.earthdatascience.org/courses/intro-to-earth-data-science/open-reproducible-science/bash/
- https://www.educative.io/blog/bash-shell-command-cheat-sheet
### git
- https://git.wmi.amu.edu.pl/
- https://www.freecodecamp.org/news/learn-the-basics-of-git-in-under-10-minutes-da548267cc91/
- https://git-scm.com/docs/gittutorial
- https://git-scm.com/book/en/v2
### pycharm tutorial:
- https://www.jetbrains.com/guide/python/tutorials/getting-started-pycharm/