Eksploracja danych

Transkrypt

Eksploracja danych
Eksploracja danych
Projekt zaliczeniowy
W schemacie MIKOLAJ znajdują się tabele CENSUS i CENSUS_TEST. Tabela CENSUS
zawiera dane statystyczne potrzebne do trenowania i uczenia klasyfikatorów. Tabela
CENSUS_TEST służy do testowania jakości zbudowanych modeli klasyfikacji.
Przekopiuj zawartość obu tablic do własnego schematu. Szczegółowy opis struktury,
znaczenie poszczególnych atrybutów i przykładowe wartości atrybutów (obie tabele
mają identyczną strukturę) można znaleźć tutaj:
http://www.cs.put.poznan.pl/mmorzy/ed/census-income.names.
Atrybutem decyzyjnym jest atrybut INCOME (problem klasyfikacji binarnej).
Poniżej umieściłem listę zadań szczegółowych. Możecie Państwo wykonać wybraną
część zadań w zależności od tego, jaką chcecie uzyskać ocenę. Kryteria oceny są
następujące:
•
•
•
•
•
Ocena
Ocena
Ocena
Ocena
Ocena
dostateczna:
dostateczna+:
dobra:
dobra+:
bardzo dobra:
zadania
zadania
zadania
zadania
zadania
1,
1,
1,
1,
1,
2,
2,
2,
2,
2,
3,
3,
3,
3,
3,
4,
4,
4,
4,
4,
5,
5,
5,
5,
5,
6
6,
6,
6,
6,
7,
7,
7,
7,
8
8, 9, 10
8, 9, 10, 11, 12
8, 9, 10, 11, 12, 13, 14
Sprawozdanie musi zawierać krótki opis wykonanych czynności i dokładne
odpowiedzi na wszystkie pytania umieszczone pod każdym zadaniem (sekcja
wypunktowana). Tam gdzie jest to wymagane, proszę także dołączyć kod programu.
Termin nadsyłania prac upływa 19.06.2006 (poniedziałek) o północy (decyduje
godzina przybycia listu do mojej skrzynki pocztowej). Osoby które prześlą
sprawozdanie po tym terminie nie uzyskają zaliczenia przed 21.06.2006.
Ostatecznym terminem przesłania projektu jest piątek, 22.09.2006. Żadne wpisy nie
będą antydatowane, uzyskanie wpisu za projekt dostarczony po ostatecznym
terminie jest możliwe tylko i wyłącznie w oparciu o aktualne przedłużenie sesji.
Projekty proszę przesyłać na adres [email protected]
UWAGA!!! W przypadku wykrycia plagiatu obie osoby otrzymują ocenę 2.0/3.0.
Zwracam uwagę, że kwestia rzeczywistego autorstwa projektu nie ma dla mnie
najmniejszego znaczenia – oddanie cudzego projektu jako własnego traktuję jak
oszustwo, a udostępnienie swojego projektu jak współudział w oszustwie.
Wymagania dotyczące uzyskania oceny dostatecznej są tak proste, że nie ma
potrzeby kraść cudzych projektów.
1. Wstępne przygotowanie danych do eksploracji
Obejrzyj histogramy dla wszystkich atrybutów, na podstawie wartości średniej i
zakresu wartości oceń, dla których atrybutów należy zidentyfikować osobliwości.
Przeprowadź usuwanie osobliwości.
• Które atrybuty wybrałaś(eś) do usuwania osobliwości?
• Jaką metodę oznaczania osobliwości wybrałaś(eś) dla każdego
atrybutu? Dlaczego?
2. Obsługa brakujących wartości
W bazie danych brakujące dane są oznaczone za pomocą znaku ‘?’. Znajdź atrybuty
zawierające brakujące dane. Tam, gdzie to możliwe, zamień brakujące dane na
wartość „Not in universe”, w przeciwnym przypadku zamień brakujące dane na
dominującą wartość atrybutu.
• Które atrybuty zawierają brakujące wartości?
• Jeśli nie można było zamienić brakującej wartości na „Not in universe”,
to jaka była dominująca wartość dla danego atrybutu?
3. Normalizacja atrybutów numerycznych
Wybierz atrybuty numeryczne, które powinny być Twoim zdaniem znormalizowane.
Przeprowadź normalizację atrybutów numerycznych.
• Które atrybuty numeryczne wybrałaś(eś) do normalizacji?
• Jaką metodą znormalizowałaś(eś) każdy z atrybutów? Dlaczego?
4. Dyskretyzacja atrybutów numerycznych
Wybierz atrybuty numeryczne, które powinny Twoim zdaniem podlegać dyskretyzacji.
Dla każdego atrybutu wybierz najwłaściwszą Twoim zdaniem metodę dyskretyzacji i
przedziały dyskretyzacji.
• Które atrybuty numeryczne wybrałaś(eś) do dyskretyzacji?
• Jaką metodę, liczbę przedziałów i granice przedziałów wybrałaś(eś) dla
każdego atrybutu? Uzasadnij swój wybór.
5. Dyskretyzacja atrybutów kategorycznych
Dokonaj dyskretyzacji atrybutu kategorycznego AMARITL (marital status) na dwie
kategorie: osoby zamężne/żonate (3 wartości) i pozostałe (4 wartości)
• Podaj kod perspektywy która umożliwia taką operację
6. Określanie ważności atrybutów
Określ ważność atrybutów względem atrybutu decyzyjnego INCOME. W analizie
pomiń atrybut MARSUPWT (instance weight) określający względną wagę instancji
reprezentowanej przez dany wiersz.
• Podaj trzy najbardziej przydatne atrybuty do przewidywania wartości
atrybutu decyzyjnego. Wytłumacz uzyskany wynik.
• Podaj trzy najmniej przydatne atrybuty do przewidywania wartości
atrybutu decyzyjnego. Wytłumacz uzyskany wynik.
7. Analiza skupień
Wykorzystaj algorytm k-Means do znalezienia najbardziej charakterystycznych
skupień cech. Dobierz eksperymentalnie wartość parametru k w taki sposób, aby
instancje rozkładały się w miarę równomiernie pośród znalezionych skupień.
• Podaj wybraną przez siebie wartość parametru k i rozkład liczby
instancji w ramach skupień.
• Wybierz jedno skupienie i starannie je przeanalizuj (obejrzyj histogramy
rozkładów wartości poszczególnych atrybutów w skupieniu). Opisz
językiem naturalnym instancje przypisane do danego skupienia. Jaka,
Twoim zdaniem, grupa/warstwa społeczna jest opisana za pomocą
wybranego skupienia?
Powtórz ćwiczenie wykorzystując algorytm O-Cluster
• Podaj uzyskaną liczbę skupień i rozkład liczby instancji w ramach
poszczególnych skupień.
• Znajdź skupienie odpowiadające grupie klientów opisanych przez Ciebie
w wyniku działania algorytmu k-Means. Czy skupienie bardzo się różni
od skupienia uzyskanego przez O-Cluster? Podaj najważniejsze różnice.
8. Odkrywanie cech
Przeanalizuj zawartość tabeli CENSUS pod kątem występowania w
(liniowych kombinacji wartości atrybutów). Wykorzystaj algorytm
znalezienia dominujących cech.
• Podaj liczbę znalezionych cech.
• Wyświetl wybraną cechę, zinterpretuj ją i porównaj z
skupieniami (przez algorytm O-Cluster lub k-Means),
odpowiada jakiemuś skupieniu?
niej cech
NNMF do
odkrytymi
czy cecha
9. Naiwny klasyfikator Bayesa
Zbuduj naiwny klasyfikator Bayesa służący do przewidywania wartości atrybutu
decyzyjnego INCOME na podstawie wartości pozostałych atrybutów. Wybierz
atrybuty, które powinny być włączone do modelu (pozostawienie wszystkich
atrybutów skutkuje zbudowaniem modelu niskiej jakości). Jako preferowaną wartość
(positive) wybierz „50 000 +”. Zwróć uwagę, żeby przede wszystkim poprawnie
przewidywać preferowaną wartość kosztem ogólnej dokładności modelu (przy
sztywnym przewidywaniu klasy „- 50 000” dokładność modelu wyniesie i tak 93%).
Pamiętaj, żeby zbudowane modele testować z wykorzystaniem tabeli CENSUS_TEST!
• Które atrybuty weszły w skład modelu?
• Jak wygląda najlepsza znaleziona przez Ciebie macierz kosztów?
• Jakie parametry singleton_threshold i pairwise_threshold zostały
wykorzystane przy budowie modelu?
• Jak wyglądała macierz pomyłek?
10. Drzewa decyzyjne
Zbuduj drzewo decyzyjne służące do przewidywania wartości atrybutu decyzyjnego
INCOME. Jako preferowaną klasę wybierz „50 000+”. Dobierz eksperymentalnie
optymalne parametry klasyfikatora (głębokość drzewa, miarę jednorodności,
rozmiary węzłów wewnętrznych i liści). Pamiętaj, żeby zbudowane modele testować z
wykorzystaniem tabeli CENSUS_TEST. Najważniejszym kryterium jest poprawność
przewidywania preferowanej klasy a nie ogólna poprawność klasyfikatora.
• Które atrybuty weszły w skład modelu?
• Jak wygląda najlepsza znaleziona przez Ciebie macierz kosztów?
• Jakie wartości parametrów zostały wykorzystane przy budowie modelu?
• Jak wyglądała macierz pomyłek?
11. Regresja
Wykorzystaj algorytm SVM do zbudowania modelu służącego do przewidywania
wartości atrybutu numerycznego AHRSPAY (godzinowa stawka wynagrodzenia). Przy
budowie (i testowaniu) modelu wykorzystaj tylko rekordy w których AHRSPAY != 0.
Przetestuj uzyskany model wykorzystując do tego celu tabelę CENSUS_TEST.
• Podaj średni błąd kwadratowy i średni błąd bezwzględny modelu.
• Przedstaw wizualizację uzyskanych wyników (GnuPlot, Excel, ...)
12. Identyfikacja osobliwości
Wykorzystaj algorytm SVM do zbudowania modelu identyfikującego klientów
będących osobliwościami.
• Wyświetl 10 klientów którzy najbardziej odstają od „średniej”
• Wyświetl średni wiek, najczęstsze wykształcenie, status cywilny i rasę
najbardziej typowych klientów
13. Reguły asocjacyjne
Powiązania między krajem urodzenia ojca, matki i dziecka (atrybuty PEFNTVTY,
PEMNTVTY, PENATVTY, odpowiednio) można przedstawić w postaci reguł
asocjacyjnych. Stwórz model reprezentujący powiązania między tymi danymi,
przykładowa reguła: MOTHER=Mexico ∧ FATHER=INDIA ⇒ SELF=CANADA.
• Podaj kod polecenia SQL tworzącego perspektywę potrzebną do
znalezienia reguł asocjacyjnych o podanym formacie
• Podaj 5 odkrytych reguł o najwyższym wsparciu i ufności
• Napisz program w PL/SQL odkrywający i wyświetlający powyższe reguły
14. Klasyfikacja on-line
Wykorzystaj algorytm SVM do zbudowania modelu służącego do predykcji atrybutu
decyzyjnego INCOME. Zapisz zbudowany model w bazie danych. Następnie przygotuj
serwlet/dokument JSP (technologia dowolna) wykorzystujący zbudowany model jako
narzędzie do predykcji atrybutu INCOME na podstawie danych przesłanych przez
formularz HTML. W formularzu weź pod uwagę następujące atrybuty: AAGE, AHGA,
AMARITL,
AMJOCC,
ARACE,
ASEX,
PENATVTY.
Efektem
działania
serwletu/dokumentu JSP powinna być przewidywana wartość atrybutu INCOME wraz
z wyliczonym prawdopodobieństwem. Do sprawozdania koniecznie dołącz kod
zarówno tworzący model jak i kod aplikacji www (kod proszę dołączyć w osobnych
plikach a nie jako listingi)

Podobne dokumenty