Zaawansowane uczenie maszynowe:
tematy projektów
Typy tematów
Proponowane tematy projektów są podzielone na dwa typy:
implementacyjno-analityczne
oraz analityczne. Podstawowa różnica między
nimi polega na tym, że w tematach pierwszego typu wymagana jest
samodzielna implementacja pewnego algorytmu oraz, w ograniczonym
zakresie, badanie jego właściwości, zaś w tematach drugiego typu nie
jest wymagana samodzielna implementacja żadnego algorytmu, lecz
szeroko zakrojone badania pewnego zbioru dostępnych algorytmów w
realistycznym zastosowaniu. Ponadto możliwe jest
zgłoszenie własnego tematu.
Środowisko realizacji
Środowiskiem implementacji i eksperymentów dla wszystkich tematów
projektu (w tym także tematów własnych) jest
język R lub język Python. Wykonawcy mogą
przedstawić propozycję realizacji części zakresu projektu w obydwu
środowiskach (np. w celu porównania dostępnych w obu środowiskach
implementacji niektórych algorytmów).
Tematy implementacyjno-analityczne obejmują część implementacyjną i
część analityczną. Część implementacyjna polega albo na samodzielnej
implementacji pewnego algorytmu, albo na modyfikacji istniejącej
implementacji pewnego algorytmu. Należy przy tym zapewnić maksymalną
uniwersalność implementowanych algorytmów (możliwość wielokrotnego
używania dla dowolnych zbiorów danych) i stosować się do przyjmowanych
powszechnie w języku R lub języku Python konwencji dotyczących
przekazywania danych, parametrów i zwracania wyników.
Część analityczna polega na eksperymentalnym zademonstrowaniu
działania zaimplementowanego/zmodyfikowanego algorytmu w zastosowaniu
do kilku wybranych zbiorów danych, w porównaniu z innymi algorytmami
dostępnymi w środowisku R lub Python realizującymi to samo lub podobne
zadanie. Należy ocenić jakość uzyskiwanych modeli w zależności od
doboru parametrów wpływających na działanie algorytmów. Zakres tych
eksperymentów jest z założenia ograniczony, ale powinien obejmować
demonstrację zastosowania algorytmów do więcej niż jednego zbioru
danych, podstawową ocenę jakości uzyskiwanych modeli oraz wpływu
parametrów algorytmów na tę jakość.
Zgłoszenie tematu implementacyjno-analitycznego polega na
wpisaniu składu zespołu oraz numeru tematu do arkusza wyboru tematu
(link wysłany na listę mailową przedmiotu).
Lista tematów
- Budowa drzew decyzyjnych i drzew regresji z uwzględnieniem wiedzy
dziedzinowej przy wyborze podziałów przez określenie preferencji (w
przypadku kilku podziałów o zbliżonej jakości decydują preferencje
użytkownika) lub przez wspomagany wybór interaktywny (użytkownik
wybiera podział spośród kilku proponowanych podziałów o zbliżonej
jakości). Implementacja przez modyfikację algorytmu z
pakietu
rpart
(w przypadku realizacji w środowisku R)
lub biblioteki scikit-learn
(w przypadku realizacji w
środowisku Python).
- Indukcja reguł za pomocą algorytmu typu "sekwencyjnego
pokrywania" z przycinaniem inspirowanego przez wybrane klasyczne
algorytmy (AQ, CN2, IREP, RIPPER). Funkcje do tworzenia modelu i
predykcji. Porównania z wybranymi algorytmami klasyfikacji
dostępnymi w środowisku R lub Python.
- Generowanie, przycinanie i stosowanie do predykcji zbiorów reguł
na podstawie drzew decyzyjnych tworzonych przez algorytm z pakietu
rpart
(w przypadku realizacji w języku R) lub
biblioteki scikit-learn
(w przypadku realizacji w
języku Python). Funkcje/metody do ekstrakcji zbioru reguł z drzewa,
przycinania zbioru reguł i stosowania zbioru reguł do
predykcji. Porównanie z drzewami decyzyjnymi i modelami tworzonymi
za pomocą wybranych innych algorytmów klasyfikacji dostępnych w
środowisku R lub Python.
- Tworzenie modeli klasyfikacji jednoklasowej przez zastosowanie
dekompozycji na wiele zadań klasyfikacji binarnej z losowo
generowanymi podziałami zbioru danych na klasy i selekcji podzbioru
najlepszych modeli. Porównanie z algorytmami
klasyfikacji jednoklasowej dostępnymi w środowisku R lub Python.
- Tworzenie modeli klasyfikacji jednoklasowej przez sztuczne
generowanie przykładów odstających i stosowanie algorytmów
klasyfikacji binarnej do odróżniania prawdziwych i sztucznych
przykładów. Implementacja w formie opakowania umożliwiającego użycie
dowolnego algorytmu klasyfikacji dostępnego w środowisku R lub
Python stosującego standardowy interfejs wywołania. Funkcje do
tworzenia modelu i predykcji. Porównanie z algorytmami klasyfikacji
jednoklasowej dostępnymi w środowisku R lub Python.
- Tworzenie modeli klasyfikacji wieloklasowej przez zastosowanie
dekompozycji na wiele zadań klasyfikacji binarnej z użyciem kodu z
korekcją błędów. Implementacja w formie opakowania umożliwiającego
użycie dowolnego algorytmu klasyfikacji dostępnego w środowisku R
lub Python stosującego standardowy interfejs wywołania. Funkcje do
tworzenia modelu i predykcji. Porównanie z algorytmami klasyfikacji
bezpośrednio obsługującymi wiele klas dostępnymi w środowisku R lub
Python.
- Tworzenie modeli klasyfikacji wieloetykietowej przez zastosowanie
dekompozycji na wiele powiązanych zadań klasyfikacji
jednoetykietowych zgodnie z metodą bayesowskiego łańcucha
klasyfikatorów. Porównanie z algorytmami klasyfikacji
wieloetykietowej dostępnymi w środowisku R lub Python.
- Tworzenie zespołu modeli klasyfikacji przez wielokrotne
stosowanie dowolnego algorytmu klasyfikacji do bootstrapowych prób
ze zbioru trenującego, przy użyciu jako dodatkowych mechanizmów
różnicowania modeli losowej selekcji podzbiorów atrybutów oraz
losowego ustalenia hiperparametrów. Porównanie z wybranymi
algorytmami klasyfikacji tworzącymi pojedyncze modele oraz
implementacjami algorytmów
bagging i random forest dostępnymi w środowisku R
lub Python.
- Ekstrakcja reguł do klasyfikacji z lasu losowego z wykorzystaniem
metody globalnego modelu zastępczego (global surrogate
model). Funkcje do ekstrakcji zbioru reguł i stosowania zbioru
reguł do predykcji. Porównanie jakości predykcji z lasami losowymi i
pojedynczymi drzewami.
- Aktywne uczenie się modeli klasyfikacji na podstawie małych
zbiorów trenujących przez zgłaszanie zapytania o prawdziwe wartości
atrybutu docelowego dla ograniczonej liczby przykładów z
dostarczonego dużego zbioru danych nieetykietowanych wybranych
według określonych kryteriów i iteracyjne doskonalenie modelu na
podstawie powiększanego w ten sposób zbioru
trenującego. Implementacja w formie opakowania umożliwiającego
użycie dowolnego algorytmu klasyfikacji dostępnego w środowisku R
lub Python stosującego standardowy interfejs wywołania. Badanie
wpływu użycia aktywnego uczenia się na jakość modeli klasyfikacji
tworzonych na podstawie małych zbiorów trenujących za pomocą
wybranych algorytmów dostępnych w środowisku R lub Python.
- Półnadzorowane uczenie się modeli klasyfikacji na podstawie
małych zbiorów trenujących przez samoetykietowanie wybranych
przykładów z dostarczonego dużego zbioru danych
nieetykietowanych. Implementacja w formie opakowania umożliwiającego
użycie dowolnego algorytmu klasyfikacji dostępnego w środowisku R
lub Python stosującego standardowy interfejs wywołania. Badanie
wpływu użycia samoetykietowania na jakość modeli klasyfikacji
tworzonych za pomocą wybranych algorytmów dostępnych w środowisku R
lub Python na podstawie małych zbiorów trenujących.
- Półnadzorowane uczenie się modeli klasyfikacji na podstawie
małych zbiorów trenujących przez współetykietowanie wybranych
przykładów z dostarczonego dużego zbioru danych
nieetykietowanych. Implementacja w formie opakowania umożliwiającego
użycie dowolnych algorytmów klasyfikacji dostępnych w środowisku R
lub Python stosujących standardowy interfejs wywołania. Badanie
wpływu użycia współetykietowania na jakość modeli
klasyfikacji tworzonych za pomocą wybranych algorytmów dostępnych w
środowisku R lub Python na podstawie małych zbiorów
trenujących.
- Zautomatyzowane próbkowanie danych przy tworzeniu modeli
klasyfikacji lub regresji na podstawie dużych zbiorów trenujących
przez iteracyjne powiększanie początkowej małej próbki o przykłady
wybrane według określonych kryteriów (np. przykłady "trudne" do
predykcji, niepodobne do dotychczasowego zbioru trenującego
itp.). Implementacja w formie opakowania umożliwiającego użycie
dowolnego algorytmu klasyfikacji lub regresji dostępnego w
środowisku R lub Python stosującego standardowy interfejs
wywołania. Badanie wpływu próbkowania na jakość i szybkość tworzenia
modeli klasyfikacji i regresji za pomocą wybranych algorytmów
dostępnych w środowisku R lub Python.
- Zintegrowane uwzględnianie kosztów pomyłek przy tworzeniu modeli
klasyfikacji przez próbkowanie przykładów klas o niskich kosztach
pomyłek, replikację przykładów klas o wysokich kosztach pomyłek oraz
zmianę etykiet (metoda MetaCost). Implementacja w formie opakowania
umożliwiającego użycie dowolnego algorytmu klasyfikacji dostępnego w
środowisku R lub Python stosującego standardowy interfejs
wywołania. Funkcje do tworzenia modelu i predykcji. Badanie wpływu
uwzględniania kosztów pomyłek na jakość modeli klasyfikacji
tworzonych za pomocą wybranych algorytmów dostępnych w środowisku R
lub Python.
- Nienadzorowana detekcja anomalii na podstawie globalnych i
lokalnych wskaźników niepodobieństwa do sąsiadów z możliwością
użycia dowolnej miary niepodobieństwa. Porównanie z nienadzorowaną
detekcją anomalii za pomocą algorytmów klasyfikacji jednoklasowej
dostępnych w środowisku R lub Python.
- Nienadzorowana detekcja anomalii na podstawie niepodobieństwa do
grup wyznaczanych za pomocą algorytmów grupowania. Implementacja w
formie opakowania umożliwiającego użycie różnych algorytmów
grupowania dostępnych w środowisku R lub Python i różnych miar
niepodobieństwa. Porównanie z nienadzorowaną detekcją anomalii za
pomocą algorytmów klasyfikacji jednoklasowej dostępnych w środowisku
R lub Python.
Dane do części analitycznej
W części analitycznej tematów implementacyjno-analitycznych należy, o
ile temat nie nakazuje inaczej, wykorzystywać zbiory danych
z repozytoriów UCI lub
KEEL. O ile
specyfika tematu nie wymaga inaczej, należy wybrać co najmniej 2-3
zbiory danych o realistycznych rozmiarach (więcej niż 1000 przykładów,
więcej niż 10 atrybutów) dostosowane do typu algorytmów, których
dotyczy zadanie, oraz niewymagające dodatkowego wstępnego
przetwarzania.
Tematy analityczne mają wyłącznie część analityczną, jest jednak ona
znacząco rozbudowana i obejmuje pełen proces wnikliwej i szeroko
zakrojonej analizy danych oraz tworzenia modeli z wykorzystaniem
szeregu algorytmów, których implementacje są dostępne w bibliotekach
języka R lub języka Python. Zakres niezbędnych prac może obejmować:
- przygotowanie danych,
- podstawowy statystyczny opis danych,
- transformację danych (np. dyskretyzację, kodowanie atrybutów
dyskretnych, standaryzację),
- selekcję atrybutów,
- strojenie parametrów algorytmów,
- tworzenie modeli,
- wnikliwą ocenę jakości modeli,
być może iteracyjnie powtarzanych (jeśli na podstawie oceny jakości
uzyskanych modeli można zaproponować modyfikacje wcześniejszych
kroków). W przypadku dużych zbiorów danych może być konieczne
ograniczenie całości bądź części prowadzonych badań do losowo
wybranych podzbiorów.
Każde z proponowanych zadań wymaga konkretyzacji odpowiedniej dla
wybranego zbioru danych, której należy dokonać indywidualnie kierując
się dostępnymi informacjami na temat źródła i pierwotnego
przeznaczenia danych oraz własnymi zainteresowaniami, w razie potrzeby
korzystając z konsultacji. Opis skonkretyzowanego zadania musi się
znaleźć w specyfikacji projektu.
Zgłoszenie tematu analitycznego polega na wybraniu wariantu zadania
i zbioru danych oraz wpisaniu składu zespołu, kodu zadania i numeru
zbioru danych (np. K1 -- klasyfikacja, zbiór danych 1) lub numeru
źródła danych poprzedzonego literą "z" (np. KTz1 -- klasyfikacja
tekstu, źródło danych 1) do arkusza wyboru tematu (link wysłany na
listę mailową przedmiotu).
Zadania
Należy wybrać zadanie z poniższej listy, a po wyborze zbioru danych
dokonać jego konkretyzacji.
- Klasyfikacja (K). Konkretyzacja tego zadania wymaga:
- ustalenia atrybutu dyskretnego reprezentującego pojęcie
docelowe,
- określenia zakresu przygotowania danych (np. przetworzenia
do odpowiedniej postaci tabelarycznej, modyfikacji
typów/zbiorów wartości atrybutów, eliminacji/naprawy
defektów danych, modyfikacji rozkładu klas, losowania
podzbiorów danych),
- wskazania możliwości zdefiniowania nowych atrybutów,
- wyboru algorytmu selekcji atrybutów,
- wyboru algorytmów klasyfikacji,
- wskazania parametrów algorytmów klasyfikacji wymagających
strojenia (w tym parametrów umożliwiających zwiększanie
wrażliwości na klasy rzadziej występujące, trudniejsze do
prawidłowej predykcji lub o wyższych kosztach pomyłek)m
- ustalenia procedur oceny (np. k-krotna walidacja krzyżowa) i
miar jakości modeli (np. precyzja, odzysk, F1, krzywe ROC
i PR).
Wybierając zbiór danych do tego zadania należy się upewnić, że
występuje w nim co najmniej jeden atrybut dyskretny, który mógłby
pełnić rolę interesującego pojęcia docelowego.
- Regresja (R). Konkretyzacja tego zadania wymaga:
- ustalenia atrybutu ciągłego reprezentującego funkcję docelową,
- określenia zakresu przygotowania danych (np. przetworzenia do
odpowiedniej postaci tabelarycznej, modyfikacji typów/zbiorów
wartości atrybutów, eliminacji/naprawy defektów danych,
przekształcenia wartości funkcji docelowej, losowania prób),
- wskazania możliwości zdefiniowania nowych atrybutów,
- wyboru algorytmu selekcji atrybutów,
- wyboru algorytmów regresji,
- wskazania parametrów algorytmów regresji wymagających
strojenia,
- ustalenia procedur oceny (np. k-krotna walidacja krzyżowa) i
miar jakości modeli (np. MSE, MAE, R2).
Wybierając zbiór danych do tego zadania należy się upewnić, że
występuje w nim co najmniej jeden atrybut ciągły, który mógłby pełnić
rolę interesującej funkcji docelowej.
- Grupowanie (G). Konkretyzacja tego zadania wymaga:
- ustalenia atrybutów wykorzystywanych do grupowania
(traktowanych jako obserwowalne) oraz ewentualnie zbioru
atrybutów, na temat których będzie prowadzone wnioskowanie na
podstawie przynależności do grup (traktowanych jako
ukryte),
- określenia zakresu przygotowania danych (np. przetworzenia do
odpowiedniej postaci tabelarycznej, modyfikacji typów/zbiorów
wartości atrybutów, eliminacji/naprawy defektów danych,
losowania prób),
- wskazania możliwości zdefiniowania nowych atrybutów
(obserwowalnych),
- ustalenia kryteriów lub algorytmu selekcji atrybutów
(obserwowalnych),
- wyboru algorytmów grupowania,
- wyboru miar niepodobieństwa przykładów (dla algorytmów, które
je wykorzystują),
- wskazania parametrów algorytmów grupowania wymagających
strojenia,
- ustalenia miar jakości modeli (np. szerokość sylwetki, index
Dunna, indeks Daviesa-Bouldina, indeks Randa),
- ustalenia sposobu opisu grup i charakteryzowania ich specyfiki
na podstawie rozkładu wartości atrybutów.
- Klasyfikacja tekstu (KT). Konkretyzacja tego zadania wymaga:
- ustalenia wykorzystywanych technik wektorowej reprezentacji
tekstu (co najmniej dwie różne reprezentacje),
- określenia zakresu przygotowania danych (np. modyfikacji
rozkładu klas, losowania prób),
- ustalenia kryteriów/algorytmu selekcji atrybutów (słów) lub
transformacji redukującej wymiarowość,
- wyboru algorytmów klasyfikacji,
- wskazania parametrów algorytmów klasyfikacji wymagających
strojenia,
- ustalenia procedur oceny (np. krotna walidacja krzyżowa) i miar
jakości modeli (np. precyzja, odzysk, F1, krzywe ROC i
PR).
Wybierając zbiór tekstów do tego zadania należy się upewnić, że są one
poetykietowane klasami pewnego pojęcia docelowego.
- Grupowanie tekstu (GT). Konkretyzacja tego zadania wymaga:
- ustalenia wykorzystywanych technik wektorowej reprezentacji
tekstu (co najmniej dwie różne reprezentacje),
- określenia zakresu przygotowania danych (np. losowania
prób),
- ustalenia kryteriów/algorytmu selekcji atrybutów
(słów) lub transformacji redukującej wymiarowość,
- wyboru algorytmów grupowania,
- wyboru miar niepodobieństwa przykładów (dla algorytmów, które
je wykorzystują),
- wskazania parametrów algorytmów grupowania wymagających
strojenia,
- ustalenia miar jakości modeli (np. szerokość sylwetki, index
Dunna, indeks Daviesa-Bouldina, indeks Randa),
- ustalenia sposobu opisu grup i charakteryzowania ich specyfiki
na podstawie rozkładu występowania słów.
- Detekcja anomalii (DA). Zadanie to można uznać za
specyficzną odmianę dwuklasowej klasyfikacji, w której przykłady
klasy reprezentującej anomalie są zazwyczaj bardzo nieliczne lub w
ogóle nie są dostępne. W projekcie należy uwzględnić oba te warianty
zadania. W pierwszym przypadku, odpowiadającym tzw. nadzorowanej
detekcji anomalii, mogą być zastosowane zwykłe algorytmy
klasyfikacji pod warunkiem ich odpowiedniego uwrażliwienia na mniej
liczną klasę. W drugim przypadku mamy do czynienia z
tzw. nienadzorowaną detekcją anomalii, w której poszukuje się modelu
umożliwiającego identyfikowanie przykładów najbardziej nietypowych i
odróżniających się od pozostałych, np. przez mierzenie stopnia
niepodobieństwa do najbliższych sąsiadów lub grup wyznaczonych za
pomocą pewnego algorytmu grupowania, a także zastosowania algorytmów
klasyfikacji jednoklasowej. Konkretyzacja tego zadania wymaga:
- wyboru klasy reprezentującej przypadki nieprawidłowe,
- określenia zakresu przygotowania danych (np. przetworzenia
do odpowiedniej postaci tabelarycznej, eliminacji/naprawy
defektów danych, losowania podzbiorów danych),
- wskazania możliwości zdefiniowania nowych atrybutów,
- ustalenia kryteriów lub algorytmu selekcji atrybutów,
- wyboru algorytmów nadzorowanej i nienadzorowanej detekcji
anomalii,
- wskazania parametrów algorytmów wymagających strojenia (ze
szczególnym uwzględnieniem parametrów mających wpływ na
wrażliwość na anomalie),
- ustalenia procedur oceny (np. k-krotna walidacja krzyżowa) i
miar jakości detekcji anomalii (np. precyzja, odzysk, F1,
krzywe ROC i PR).
Wybierając zbiór danych do tego zadania należy się ograniczyć do
zbiorów danych do detekcji anomalii lub takich zbiorów danych do
klasyfikacji do klasyfikacji, dla których można sensownie rozważać
detekcję anomalii (tzn. takich, w których da się wyróżnić jedną
mniej licznie reprezentowaną klasę, która byłaby traktowana jako
odpowiadająca przypadkom nieprawidłowym).
- Detekcja anomalii w tekście (DAT). Zadanie to można uznać
za specyficzną odmianę dwuklasowej klasyfikacji tekstu, w której przykłady
klasy reprezentującej anomalie są zazwyczaj bardzo nieliczne lub w
ogóle nie są dostępne. W projekcie należy uwzględnić oba te warianty
zadania. W pierwszym przypadku, odpowiadającym tzw. nadzorowanej
detekcji anomalii, mogą być zastosowane zwykłe algorytmy klasyfikacji
pod warunkiem ich odpowiedniego uwrażliwienia na mniej liczną klasę. W
drugim przypadku mamy do czynienia z tzw. nienadzorowaną detekcją
anomalii, w której poszukuje się modelu umożliwiającego
identyfikowanie przykładów najbardziej nietypowych i odróżniających
się od pozostałych, np. przez mierzenie stopnia niepodobieństwa do
najbliższych sąsiadów lub grup wyznaczonych za pomocą pewnego
algorytmu grupowania, a także zastosowania algorytmów klasyfikacji
jednoklasowej. Konkretyzacja tego zadania wymaga:
- ustalenia wykorzystywanych technik wektorowej reprezentacji
tekstu (co najmniej dwie różne reprezentacje),
- określenia zakresu przygotowania danych (np. modyfikacji
rozkładu klas, losowania prób),
- ustalenia kryteriów/algorytmu selekcji atrybutów (słów) lub
transformacji redukującej wymiarowość,
- wyboru algorytmów nadzorowanej i nienadzorowanej detekcji
anomalii,
- wskazania parametrów algorytmów wymagających strojenia (ze
szczególnym uwzględnieniem parametrów mających wpływ na
wrażliwość na anomalie),
- ustalenia procedur oceny (np. krotna walidacja krzyżowa) i miar
jakości modeli (np. precyzja, odzysk, F1, krzywe ROC i
PR).
Wybierając zbiór tekstów do tego zadania należy się ograniczyć do
zbiorów do detekcji anomalii lub takich zbiorów do klasyfikacji, dla
których można sensownie rozważać detekcję anomalii (tzn. takich, w
których da się wyróżnić jedną mniej licznie reprezentowaną klasę,
która byłaby traktowana jako odpowiadająca przypadkom
nieprawidłowym).
Dane
Do realizacji tematów analitycznych należy wybrać gotowy zbiór danych
lub źródło danych do pobrania i samodzielnego przygotowania z
poniższej listy. W przypadku gotowych zbiorów danych należy przed
wyborem upewnić się, że wybrany zbiór danych jest wciąż dostępny i
odpowiedni do wybranego zadania oraz pobrać go niezwłocznie, aby
uniknąć ewentualnych późniejszych problemów z dostępnością.
W przypadku źródeł danych proces pobierania może być bardziej złożony
(np. wymagać użycia dedykowanych narzędzi lub API przeznaczonych
ekstrakcji tekstu z serwisów internetowych itp.), są więc one raczej
rekomendowane dla osób posiadających stosowne doświadczenie lub
gotowych do wykonania dodatkowej pracy w celu jego zdobycia. Należy
jak najszybciej zweryfikować techniczną możliwość pobrania danych i
ich przetworzenia do postaci nadającej się do analizy.
Zbiory danych
-
Dane Balabit
Mouse Dynamics Chalange -- rozpoznawanie nieautoryzowanych
użytkowników na podstawie wzorców ruchu myszy.
-
Dane Mouse
Behavior Data for Continuous Authentication -- rozpoznawanie
nieautoryzowanych użytkowników na podstawie wzorców ruchu
myszy.
-
Dane ntelligent
Manufacturing -- predykcja efektywności produkcji.
-
Dane RT-IoT2022
-- wykrywanie ataków na infrastrukturę IoT.
- Dane
SGEMM
GPU Kernel Performance (UCI) -- predykcja wydajności
obliczeniowej.
- Dane
Dynamic
Features of VirusShare Executables (UCI) -- detekcja złośliwego
kodu.
- Dane
Appliances
Energy Prediction (UCI) -- predykcja zużycia energii.
- Dane
Human
Activity Recognition Using Smartphones (UCI) -- detekcja czynności
ruchowych człowieka.
- Dane
Job
Change of Data Scientists (Kaggle) -- predykcja odchodzenia z
pracy specjalistów data science.
- Dane
Airline
Passenger Satisfaction (Kaggle) -- predykcja zadowolenia
klientów linii lotniczych.
-
Dane Credit
Card Fraud Detection (Kaggle) -- detekcja oszustw w płatnościach
kartami.
- Dane KDD
Cup 2009 -- predykcja zachowań klientów sieci GSM.
-
Dane KDD
Cup 1998 -- predykcja skuteczności marketingu
bezpośredniego.
- Dane Outlier Detection
Datasets -- kolekcja zbiorów danych do detekcji
anomalii.
- Dane CERN
Proton Collision (Kaggle) -- predykcja liczby strumieni
protonów o dużym pędzie poprzecznym.
- Dane
tekstowe arXiv
Scientific Research Papers -- artykuły naukowe.
- Dane
tekstowe SpamAssassin
Public Corpus -- pożądane/niepożądane wiadomości e-mail.
- Dane
tekstowe Reuters-21578
(UCI) -- depesze agencyjne.
- Dane
tekstowe 20
Newsgroups (UCI) -- wiadomości z grup dyskusyjnych
Usenet.
- Dane
tekstowe UM
SI 670 -- artykuły naukowe.
- Dane
tekstowe M35216F -- artykuły naukowe.
- Dane
tekstowe NFS
Research Award Abstracts 1990-2003 (UCI) -- wnioski grantowe.
- Dane
tekstowe Amazon
Fine Food Reviews (Kaggle) -- recenzje potraw.
- Dane
tekstowe Wine Reviews (Kaggle) -- recenzje win.
- Dane
tekstowe Amazon
Product Reviews -- recenzje produktów.
Źródła danych
- Dane z wybranego serwisu handlu elektronicznego (kategorie,
parametry i opisy ofert lub recenzje produktów).
- Dane z wybranego forum internetowego (kategorie/działy, czas,
treści wpisów).
- Dane z wybranego serwisu społecznościowego
(kategorie/działy/tagi, lokalizacja, czas, treści wpisów).
- Dane z wybranych działów Wikipedii (kategorie i treści
artykułów).
Poza wyborem jednego z proponowanych wyżej tematów możliwe jest
zgłoszenie własnego tematu. W takim przypadku należy wysłać propozycję
tematu mailem do prowadzącego, a po uzyskaniu jego akceptacji --
wpisać w arkuszu wyboru "własny". Akceptacja własnych tematów będzie
zależna od oceny ich złożoności, zakresu pracy i stopnia zgodności z
treścią wykładu.
Strona przedmiotu ZUM
Paweł Cichosz