zajecia1 | ||
zajecia2 | ||
zajecia3 | ||
zajecia4 | ||
README.md |
Programowanie w pythonie
Materiały do zajęć Programowanie w Pythonie prowadzone na Wydziale Matematyki i Informatyki UAM w ramach studiów podyplomowych Przetwarzanie danych - Big Data. Kurs 2023/2024
Informacja o przedmiocie
Prowadzący: mgr inż. Jakub Pokrywka. Kontakt przez komunikator MS TEAMS lub mailowy (jakub.pokrywka@amu.edu.pl).
Materiały do przedmiotu i jak się uczyć
Program jest 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:
- Learning Python, 5th Edition by Lutz, Mark
- 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
- Real Python
- Dive in Python: Klasyczny kurs programowania w Pythonie.
- Filmy na Youtubie: seria filmów od Microsoftu nt. podstaw programowania w Pythonie.
Ogólny Plan zajęć
-
Zajęcia 1 - Wprowadzenie do python
-
Zajęcia 2 - Analiza danych
-
Zajęcia 3 - Analiza danych, instalacja środowiska, IDE
-
Zajęcia 4 - Podstawy uczenia maszynowego w python
-
Zajęcia 5 - Podstawy uczenia maszynowego w python, obługa maszyny wirtualnej
-
Zajęcia 6 - Tworzenie REST API
-
Zajęcia 7 - Tworzenie REST API, testowanie aplikacji
Zaliczenie przedmiotu
- 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ć 5-15 minut
- Przykładowa prezentacja: https://docs.google.com/presentation/d/1UeUB8s7Go8Dsjk0RyZZdcr6TSgDLuM9gmewOwlm86qU/edit?usp=sharing
- przykładowa aplikacja do serwowania modelu ML: http://kubapok.projektstudencki.pl:8000/docs (dostępny tylko w sieci wydziałowej)
- Przykłady są bardzo podstawowe. 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 oraz testy
Skala ocen
- Należy wybrać zbiór danych (akceptacja grup oraz zbioru danych przez prowadzącego na pierwszych 17.11.21 lub drugich zajęciach 18.11.23), zaprezentować analizę tego zbioru danych (tabelki, wykresy, wnioski) w max 10 minut- zaliczenie na ocenę 3)
- 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
- Należy wystawić model z poprzedniego punktu w prostej aplikacji REST i zaprezentować jego działanie. Do aplikacji powininy być napisane conajmniej 2-3 proste przypadki testowe- zaliczenie na llocenę 4.5
- Należy udostępnić aplikację w sieci wydziałkowej 5
W celu prezentacji projektu należy umowić sie z prowadzącym na prezentacje zdalną lub na wydziale (tylko w dni pracujące). Termin oddania zadań do koniec stycznia 2024. Dodatkowo można zgłosić prezentacje do końca 2023- wtedy prowadzący proponuje ocenę i zespół może albo ją przyjąć lub nie i spróbować jeszcze raz w styczniu.
Dodatkowe materiały
jupyter notebook
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