====== Projekty zaliczeniowe ====== Projekty mogą być zrealizowane jako notatnik Jupyter lub jako samodzielna aplikacja napisana w dowolnej technologii. W ramach projektu należy dostarczyć zwięzły opis zawierający: * krótki opis zastosowanych metod (np. klasyfikacja, regresja, analiza skupień, selekcja cech); * wymagania techniczne i zależności (np. wymagane biblioteki); * opis przeprowadzonych eksperymentów i analiz; * interpretację wyników. Opis projektu umieść w pliku ''README.md'' w repozytorium GitHub. Własne propozycje tematów są mile widziane, ale wymagają wcześniejszego uzgodnienia z prowadzącym. ===== Propozycje tematów ===== Uwaga: proponowane zbiory danych mogą zawierać bardzo dużo przypadków. Możesz ograniczyć rozmiar zbioru, wybierając odpowiedni podzbiór danych lub pracując na małych, publicznych zestawach. W przypadku danych o dużej liczbie cech zaleca się stosowanie metod redukcji wymiarowości. ==== 1. Rozpoznawanie emocji ==== Aplikacja ma za zadanie rozpoznanie nastroju osoby (uśmiech, złość, itd.) ze zdjęcia (lub kamery). \\ Przykładowe dane uczące [[https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition-challenge/data|FER2013]] \\ Przygotuj jak najlepszy model klasyfikaujący nastrój z wykorzystaniem metod redukcji wymiarowości PCA (twarze własne) lub LDA. Przygotuj własny zbiór testowy zawierający kilkanaście Twoich zdjęć i przetestuj działanie aplikacji. ==== 2. Rozpoznawanie pisma ==== Zadaniem aplikacji jest rozpoznawanie pisma odręcznego. \\ Przykładowe dane uczące: [[https://github.com/aurelienduarte/emnist|EMNIST]] \\ Zbuduj jak najskuteczniejszy klasyfikator rozpoznający obrazy z odręcznie pisanymi literami. Przygotuj kilkanaście obrazow testowych zawierających próbki Twojego pisma odręcznego i przetestuj na nich skuteczność działania aplikacji. ==== 3. Rozpoznawanie sentymentu tweetów ==== Zadaniem jest klasyfikacja emocji tweetów \\ Dane uczące: [[https://huggingface.co/datasets/dair-ai/emotion|emotion]] \\ Zbuduj jak najskuteczniejszy klasyfikator emocji tweetów wykorzystując odpowiednie metody reprezentacji dokumentów (np. worek słów), metody redukcji wymiarowości i metody klasyfikator. Przygotuj osobny zbiór testowy zawierający kilkanaście tweetów pewnej (dowolnej) znanej osoby i przetestuj działanie na tym zbiorze. ==== 4. Grupowanie zdjęć ==== Zadaniem jest napisanie programu, który przeprowadzi analizę skupień kolekcji zdjęć. Stwórz samodzielnie zbior danych lub przygotuj zbior danych z ogólnodostępnych repozytoriów zawierający co najmniej kilkadziesiąt zdjęć przedstawiających różnorodne obiekty, ujecia i scenerie (np. panorama, portrety osób, zdjęcia grupowe, itp.) Zastosuj odpowiednia metodę redukcji wymiarowości i ekstrakcji cech (np. PCA), zbuduj model analizy skupień i przedstaw pogrupowane zdjęcia. Aplikacja powinna tez pozwolić na utworzenie listy najbardziej podobnych zdjęć do pewnego wskazanego zdjęcia. ==== 5. Porównanie metod ==== Zadaniem jest przeprowadzenie analizy statystycznej skuteczności wybranych metod data mining: klasyfikacji, regresji, selekcji cech, analizy skupień. Porównaj skuteczność kilku metod na wyselekcjonowanych danych. Projekt powinien prezentować analizę statystyczną porównującą skuteczność danej metody, np. porównanie średnich wyników z wielokrotnie powtórzonej walidacji krzyżowej na zestawie danych benchmarkowych. Do porównania należy wybrać kilka metod, moga być także te, które pojawiły się na laboratorium ale do tego zbioru należy dodać przynajmniej jedna metodę, ktora na laboratorium nie była zaprezentowana (zob. metody dostepne w bibliotece scikit-learn). Parametry metod należy zoptymalizowac odpowiednimi metodami selekcji modeli (np. przeszukiwanie siatką). Przykładowe źródła danych: [[https://archive.ics.uci.edu/|UCI UC Machine Learning Repository]], [[https://www.kaggle.com/datasets|Kaggle]] ==== Inne propozycje ==== * Rozpoznawanie zdjęć (obiektów na zdjęciach) i ich klasyfikacja lub analiza skupień. \\ Przykładowy zbiór uczący: ([[https://www.cs.toronto.edu/~kriz/cifar.html|CIFAR]], [[https://data.caltech.edu/records/nyy15-4j048|CALTECH]], [[https://image-net.org/download.php|ImageNet]], [[https://git-disl.github.io/GTDLBench/datasets/]]). * Analiza skupień dokumentów (np. artykułow Wikipedii, tweetów, wpisów na forach), pogrupowanie tematyczne dokumentów i wizualizacja nisko-wymiarowa 2D lub 3D grup dokumentów. * Aplikacja znajdująca najbardziej podobnych do Ciebie celebrytów. Znajdź zbiór danych zawierający zdjęcia celebrytów lub inny zbiór danych z twarzami. Przygotuj też własne zdjęcie w odpowiednim formacie i wykorzystaj te dane do znalezienia celebryty (lub stworzenia rankingu celebrytów) o jak najwiekszym podobieństwie. * Selekcja cech i interpretacja z uzyciem metod z pakietu scikit-learn, np.: SelectKBest, RFE. Sprawdź wpływ na jakość modelu klasyfikacyjnego lub regresyjnego na wybranych zbiorach danych. * Inne wykorzystanie metod regresji, klasyfikacji, analizy skupień, wizualizacji w praktycznym zastosowaniu * Własna propozycja (po uzgodnieniu z prowadzącym)