Metody odkrywania wiedzy:
tematy projektów


Proponowane tematy projektów są podzielone na dwa rodzaje: analityczne oraz implementacyjno-analityczne. Środowiskiem do realizacji tematów obydwu rodzajów jest język R.

Tematy analityczne

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 budowy modeli z wykorzystaniem szeregu algorytmów, których implementacje są dostępne w pakietach języka R (wliczając w to bibliotekę Weka dostępną za pośrednictwem pakietu RWeka). Zakres niezbędnych prac może obejmować:

być może iteracyjnie powtarzanych (jeśli na podstawie oceny jakości uzyskanych modeli można zaproponować modyfikacje wcześniejszych kroków). W niektórych przypadkach konieczne może się okazać wstępne przetworzenie danych poza środowiskiem języka R (np. wylosowanie próby z dużego zbioru danych).

Wybór tematu analitycznego polega na wybraniu zadania odkrywania wiedzy i analizowanego zbioru danych oraz przekazaniu swojej decyzji (nazwy zadania i numeru zbioru danych) pocztą elektroniczną. 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.

Zadania

Należy wybrać zadanie z poniższej listy, a po wyborze zbioru danych dokonać jego konkretyzacji.

Dane

Należy wybrać zbiór danych z poniższej listy, upewniając się wcześniej, że jest dostępny i odpowiedni do wybranego zadania. Dane należy pobrać najpóźniej \emph{natychmiast po wyborze}, aby uniknąć ewentualnych późniejszych problemów z dostępnością.
  1. Dane z konkursu FVC2002 (rozpoznawanie odcisków palców).
  2. Dane MNIST (rozpoznawanie ręcznie pisanych cyfr).
  3. Dane dotyczące ofert sprzedaży samochodów ze strony SmarterPoland.
  4. Dane dotyczące ofert sprzedaży mieszkań ze strony SmarterPoland.
  5. Dane dotyczące głosowań sejmowych ze strony SmarterPoland.
  6. Dane PUMS udostępniane przez US Census Bureau (charakterystyka ludności i domów w Stanach Zjednoczonych).
  7. Dane z konkursu 2010 UC San Diego Data Mining Contest (predykcja zachowań zakupowych w handlu internetowym).
  8. Dane z konkursu KDD Cup 2009 (predykcja zachowań klientów sieci GSM).
  9. Dane z konkursu KDD Cup 2008 (wczesna detekcja raka piersi).
  10. Dane z konkursu KDD Cup 2003 (predykcja zmian liczby cytowań i pobrań artykułów naukowych).
  11. Dane z konkursu KDD Cup 2000 (predykcja zakupów w sklepie internetowym).
  12. Dane z konkursu KDD Cup 1999 (wykrywanie ataków sieciowych).
  13. Dane z konkursu KDD Cup 1998 (predykcja skuteczności marketingu bezpośredniego).
  14. Dane o wypadkach samochodowych dostępne z repozytorium FIMI (predykcja skutków wypadków samochodowych).
  15. Dane tekstowe PubMed (dane bibliograficzne literatury biomedycznej).
  16. Dane tekstowe SpamAssassin Public Corpus (filtrowanie poczty elektronicznej).
  17. Dane tekstowe Reuters-21578 (depesze agencyjne).
  18. Dane tekstowe 20 Newsgroups (wiadomości z grup dyskusyjnych Usenet).
  19. Dane tekstwe Bag of Words.
  20. Dane tekstowe NFS Research Abstracts (streszczenia projektów badawczych).

Tematy implementacyjno-analityczne

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 konwencji (specyfikacja wykorzystywanych w tworzeniu modelu atrybutów za pomocą formuły, funkcja predict do stosowania modelu itp.). Kod źródłowy wraz z niezbędną dokumentacją użytkową powinien być zorganizowany w postaci pakietu języka R.

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 R realizującymi to samo zadanie. Należy ocenić jakość uzyskiwanych modeli w zależności od doboru parametrów wpływających na działanie algorytmów.

Zgłoszenie wyboru tematu implementacyjno-analitycznego polega na przekazaniu numeru tematu pocztą elektroniczną.

Lista tematów

  1. Generowanie i przycinanie zbiorów reguł na podstawie drzew decyzyjnych tworzonych przez algorytm z pakietu rpart. Porównanie z modelami generowanymi bezpośrednio przez ten algorytm (z różnymi kryteriami stopu) i innymi algorytmami klasyfikacji dostępnymi w R.
  2. Wstępująca i zstępująca dyskretyzacja atrybutów ciągłych z uwzględnieniem rozkładu kategorii. Badanie wpływu dyskretyzacji na jakość modeli klasyfikacji tworzonych za pomocą algorytmów dostępnych w R.
  3. Selekcja atrybutów przez filtrowanie z różnymi funkcjami oceny przydatności. Badanie wpływu slekcji atrybutów na jakość modeli klasyfikacji lub regresji tworzonych za pomocą algorytmów dostępnych w R.
  4. Selekcja atrybutów przez opakowanie algorytmu modelowania z różnymi strategiami przeszukiwania. Badanie wpływu selekcji atrybutów na jakość modeli klasyfikacji lub regresji tworzonych za pomocą algorytmów dostępnych w R.
  5. Ocena predykcyjnej użyteczności atrybutów do klasyfikacji i regresji na podstawie wpływu ich zaburzenia na jakość modeli generowanych na podstawie wielu bootstrapowych prób (na podstawie techniki oceny atrybutów stosowanej w lasach losowych). Porównania z innymi miarami użyteczności atrybutów dostępnymi w R. Badania wpływu selekcji najwyżej ocenianych atrybutów na jakość modeli klasyfikacji i regresji.
  6. Miary jakości modeli, procedury oceny oraz strojenia parametrów algorytmów klasyfikacji i regresji (znacząco rozwinięty i udoskonalony zamiennik funkcji tune z pakietu e1071). Eksperymenty z wybranymi algorytmami klasyfikacji i regresji.
  7. Nie-całkiem-naiwny klasyfikator bayesowski (sieć bayesowska uwzględniająca dostarczoną wiedzę o zależnościach między atrybutami). Porównania ze standardowym naiwnym klasyfikatorem bayesowskim i innymi algorytmami klasyfikacji dostępnymi w R.
  8. Lokalna klasyfikacja (predykcja kategorii dla przykładu za pomocą modelu jednorazowego użytku budowanego na podstawie jego ,,najbliższych sąsiadów''). Eksperymenty z kilkoma różnymi algorytmami do budowania modeli lokalnych. Porównanie z algorytmami klasyfikacji dostępnymi w R.
  9. Lokalna regresja (predykcja wartości funkcji docelowej dla przykładu za pomocą modelu jednorazowego użytku budowanego na podstawie jego ,,najbliższych sąsiadów''). Eksperymenty z kilkoma różnymi algorytmami do budowania modeli lokalnych. Porównanie z algorytmami regresji dostępnymi w R.
  10. Kooperatywna filtracja za pomocą algorytmów pamięciowych. Eksperymenty z danymi udostępnianymi przez laboratorium GroupLens.
  11. Kooperatywna filtracja za pomocą dekompozycji SVD. Eksperymenty z danymi udostępnianymi przez laboratorium GroupLens.
  12. Proste algorytmy klasyfikacji tekstu (TF-IDF, naiwny klasyfikator Bayesowski, kNN). Porównania ze standardowymi algorytmami klasyfikacji dostępnymi w R.

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 repozytorium UCI. O ile specyfika tematu nie wymaga inaczej, należy wybierać zbiory danych o realistycznych rozmiarach (więcej niż 1000 przykładów, więcej niż 10 atrybutów).
Strona przedmiotu MOW

Paweł Cichosz