Wstęp do Data Mining

Laboratorium w semestrze letnim 2023/24 odbywa się we wtorki w godz. 10-12 w PK4 WFAiIS.

Strona kursu w Moodle: https://moodle.umk.pl/WFAIIS/course/view.php?id=40

Warunki zaliczenia zajęć:

  • zadania z laboratorium:
    Rozwiązania zadań, w postaci notatników Jupyter (pliki *.ipynb), należy terminowo deponować na stronie kursu w Moodle lub w prywatnych repozytoriach GitHub utworzonych poprzez adresy podane na stronie kursu Moodle.
    Zaliczenie co najmniej 6 z 10 zadań wystarczy do uzyskania oceny dostatecznej.
  • projekt zaliczeniowy:
    Uzyskanie oceny wyższej niż dostateczna, oprócz wykonania zadań z laboratorium, wymaga zrealizowania projektu w postaci aplikacji lub notatnika Jupyter demonstrującego zastosowanie wybranych metod Data Mining w praktycznych zagadnieniach.
    Propozycje tematów projektów

Rozwiązanie muszą być wykonane samodzielnie. Nie jest dozwolone udostępnianie rozwiązań innym osobom do skopiowania oraz wykorzystywanie narzędzi AI do generowania rozwiązań

  • Robert Layton, Learning Data Mining with Python, 2015 (2017 wydanie 2) - dostęp on-line z biblioteki z sieci UMK
  • Pang-Ning Tan, Michael Steinbach, Anuj Karpatne, Introduction to Data Mining (Second Edition), WWW
  • Sebastian Raschka, Machine Learning with PyTorch and Scikit-Learn, machine-learning-book
  1. Nie za długi wstęp do python, jupyter, numpy, pandas, matlibplot, scikit-learn, seaborn
  2. Analiza statystyczna danych, wizualizacja danych
    • preprocessing: wykrywanie anomalii, braki w danych, dane odstające
  3. Regresja
    • Liniowa oraz wielomianowa
    • problem przeuczenia: underfitting/overfitting
  4. Klasyfikacja i ocena klasyfikatorów
    • regresja logistyczna
    • kNN
    • drzewa decyzyjne
    • SVM
    • walidacja krzyżowa (cross validation)
  5. Analiza skupień
    • k-means
    • metody hierarchiczne, dendrogramy
    • DBSCAN
  6. Text mining
    • worek słów (BOW)
  7. Przetwarzanie obrazów
    • PCA do kodowania obrazów
  8. Analiza szeregów czasowych (?)

Lab 1. Wprowadzenie do Python i Jupyter

Moodle: Zadanie 1
GitHub: wdm_lab_01

Lab 2. Numpy i matplotlib

Moodle: Zadanie 2
GitHub: wdm_lab_02

Lab. 3 Pandas i Seaborn

Moodle: Zadanie 3
GitHub: wdm_lab_03

Lab. 4 Preprocessing

Moodle: Zadanie 4
GitHub: wdm_lab_04

Lab. 5 Regresja

Moodle: Zadanie 5
GitHub: wdm_lab_05

Lab. 6 Klasyfikacja

Moodle: Zadanie 6
GitHub: wdm_lab_06

Laboratoria realizowane są w języku Python z wykorzystaniem notatników Jupyter. Na pracowni komputerowej dostępna jest dystrybucja Anaconda (zalecane środowisko na zajęciach) zawierająca wszystkie niezbędne biblioteki i narzędzia. Możliwe jest również wykorzystanie usług sieciowych umożliwiających edycję i uruchamianie notatników, jak Google Colab lub Binder. Python oraz jupyter-notebook dostępne są również na serwerze studenckim polon7.fizyka.umk.pl

Praca lokalnie (na pracowni lub własnym komputerze)

  1. Jeśli chcesz korzystać z repozytoriów GitHub do przesyłania rozwiązań to utwórz prywatną kopie repozytorium klikając na adres podany w Moodle
  2. Pobierz notatnik ipynb, np. klonując repozytorium GitHub
  3. Otwórz wiersz poleceń Anaconda i przejdź do katalogu zawierającego pobrane pliki
  4. Uruchom serwer Jupyter poleceniem
    jupyter-notebook

    lub

    jupyter-lab
  5. Po wykonaniu zadań zapisz notatnik
  6. Umieść rozwiązanie w Moodle lub w repozytorium GitHub

Google Colab (lub Binder)

Google colaboratory umożliwia zapis notatników do prywatnych repozytoriów GitHub, usługa Binder umożliwia wyłącznie import publicznych repozytoriów GitHub.

  1. Utwórz kopie repozytorium z notatnikiem poprzez link podany w Moodle
    https://moodle.umk.pl/WFAIIS/course/view.php?id=41#section-1
  2. Uruchom notatnik w Google Colab klikając
  3. Po wykonaniu zadania zapisz notatnik w repozytorium GitHub
    PlikZapisz notatnik w usłudze GitHub
  • Google Colab (zalecane)
    • dostęp do GPU
    • wymagane konto Google i autoryzacja
    • edytowane notatniki można zapisać na Dysku Google lub w GitHub (także w prywatnych repozytoriach)
    • sesja aktywna dopóki jest otworzona w przeglądarce (max. 12h.)
    • tylko CPU, min. 1GB RAM
    • nie wymaga autoryzacji
    • brak możliwości zachowania zmian pomiędzy sesjami
    • sesja do 6 h., przerywana gdy brak aktywności przez 10 min
    • często długotrwała procedura konfiguracji i niestabilna praca (brak zapisu może powodować utratę danych)