projekt zaliczeniowy Eksploracja Danych



Podobne dokumenty
Eksploracja Danych. Projekt zaliczeniowy. Marek Lewandowski inf59817

Laboratorium 4. Naiwny klasyfikator Bayesa.

Laboratorium 11. Regresja SVM.

Laboratorium 6. Indukcja drzew decyzyjnych.

Laboratorium 5. Adaptatywna sieć Bayesa.

Laboratorium 10. Odkrywanie cech i algorytm Non-Negative Matrix Factorization.

Data Mining podstawy analizy danych Część druga

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

ALGORYTM RANDOM FOREST

Laboratorium 12. Odkrywanie osobliwości.

WYKŁAD 6. Reguły decyzyjne

Przykładowa baza danych BIBLIOTEKA

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Laboratorium nr Wyznaczyć podstawowe statystyki (średnia, mediana, IQR, min, max) dla próby:

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Metody klasyfikacji danych - część 1 p.1/24

Implementacja metod eksploracji danych - Oracle Data Mining

Określanie ważności atrybutów. OracleData Miner

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Wprowadzenie do klasyfikacji

Laboratorium 3. Odkrywanie reguł asocjacyjnych.


Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Systemy uczące się wykład 2

1. Cele eksploracyjnej analizy danych Rapid Miner zasady pracy i wizualizacja danych Oracle Data Miner -zasady pracy.

2. Ocena dokładności modelu klasyfikacji:

Wprowadzenie do technologii informacyjnej.

Laboratorium 13. Eksploracja danych tekstowych.

Rozdział 17. Zarządzanie współbieżnością zadania

Metody Eksploracji Danych. Klasyfikacja

RILL - przyrostowy klasyfikator regułowy uczący się ze zmiennych środowisk

Klasyfikacja i regresja Wstęp do środowiska Weka

Techniki grupowania danych w środowisku Matlab

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

Systemy uczące się Lab 4

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Eksploracja danych. KLASYFIKACJA I REGRESJA cz. 2. Wojciech Waloszek. Teresa Zawadzka.

Wprowadzenie do programu RapidMiner, część 4 Michał Bereta

Metody probabilistyczne klasyfikatory bayesowskie

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Wprowadzenie do uczenia maszynowego

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Określanie ważności atrybutów. RapidMiner

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Data Mining Wykład 4. Plan wykładu

Algorytmy klasyfikacji

Systemy baz danych 2 laboratorium Projekt zaliczeniowy

Optymalizacja systemów

Laboratorium 2. Określanie ważności atrybutów.

SQL do zaawansowanych analiz danych część 1.

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Analiza Danych Case study Analiza diagnostycznej bazy danych Marek Lewandowski, inf59817 zajęcia: środa, 9.

Elementy modelowania matematycznego

Mikołaj Morzy, Marek Wojciechowski: "Integracja technik eksploracji danych z systemem zarządzania bazą danych na przykładzie Oracle9i Data Mining"

Język SQL. Rozdział 8. Język manipulowania danymi DML zadania

Algorytm grupowania danych typu kwantyzacji wektorów

Automatyczne wyodrębnianie reguł

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

NAZWA ZMIENNEJ LOSOWEJ PODAJ WARTOŚĆ PARAMETRÓW ROZKŁADU PRAWDOPODOBIEŃSTWA DLA TEJ ZMIENNEJ

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Metody wykrywania odchyleo w danych. Metody wykrywania braków w danych. Korelacja. PED lab 4

WEKA klasyfikacja z użyciem sztucznych sieci neuronowych

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Sprawozdanie z zadania Modele predykcyjne (2)

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Drzewa klasyfikacyjne algorytm podstawowy

Ćwiczenie 6 - Hurtownie danych i metody eksploracje danych. Regresja logistyczna i jej zastosowanie

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Optymalizacja poleceń SQL Wprowadzenie

Intellect. Business Intelligence. Interfejsy do systemów zewnętrznych Podręcznik. Business Intelligence od 2Intellect.com Sp. z o.o.

Metody systemowe i decyzyjne w informatyce

Indukcja drzew decyzyjnych

b) Umiejętność wykonania analizy zależności zmiennych i interpretacji uzyskanych wyników.

Inteligentna analiza danych

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Metody eksploracji danych Laboratorium 2. Weka + Python + regresja

Operacja PIVOT w języku SQL w środowisku Oracle

Inżynieria biomedyczna

Porównanie systemów automatycznej generacji reguł działających w oparciu o algorytm sekwencyjnego pokrywania oraz drzewa decyzji

Agnieszka Nowak Brzezińska Wykład III

Temat zajęć: ANALIZA DANYCH ZBIORU EKSPORT. Część I: analiza regresji

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OPENMailing.pl - innowacja, efektywność, nieograniczone możliwości kampanii ingowych.

Złożoność i zagadnienia implementacyjne. Wybierz najlepszy atrybut i ustaw jako test w korzeniu. Stwórz gałąź dla każdej wartości atrybutu.

Oracle PL/SQL. Paweł Rajba.

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change

Kontekstowe wskaźniki efektywności nauczania - warsztaty

Podstawy SQL. 1. Wyświetl całość informacji z relacji ZESPOLY. 2. Wyświetl całość informacji z relacji PRACOWNICY

Krzysztof Kawa. empolis arvato. e mail: krzysztof.kawa@empolis.com

Data Mining w doborze parametrów układu testującego urządzenia EAZ 1

1. Przygotowanie danych do analizy. Transformacja danych

WEKA klasyfikacja z użyciem sztucznych sieci neuronowych

Przydatne sztuczki - sql. Na przykładzie postgres a.

Transkrypt:

Ostaszewski Paweł [55566] Piła, 22.02.2006 projekt zaliczeniowy Eksploracja Danych 1. 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. 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. 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. 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. Dokonaj dyskretyzacji atrybutu kategorycznego AMARITL (marital status) na dwie kategorie: osoby zamężne/żonate (3 wartości) i pozostałe (4 wartości) 1

Podaj kod perspektywy która umożliwia taką operację 6. 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. 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 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? 8. 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? 2

3 9. 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? 10. 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 Napisz program w języku Java odkrywający i wyświetlający powyższe reguły

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46 Histogramy dla każdego z atrybutów zostały wygenerowane dla próbki 55686 rekordów. Po analizie wartości średnich, zakresu zmienności oraz współczynnika (variance) wytypowałem następujące atrybuty numeryczne do eliminacji osobliwości: wage per hour: 98% próbkowanych wartości należało to zakresu <0,940>, 2% do przedziału <940,1880>, atrybut przyjmuje wartości z zakresu do <0,9400>, a więc pozostałe pojedyncze rekordy zidentyfikowałem, jako osobliwości; capital gains: 99% wartości jest z zakresu (0,10000), 1% <10000,20000>, pozostałe wartości z zakresu <20000,99999> zidentyfikowałem jako osobliwości; Tożsamy tok myślenia wykorzystałem do nominowania pozostałych dwóch atrybutów: capital losses oraz dividends from stock. Metoda eliminacji osobliwości (Outlier Treatment), która została wybrana przeze mnie to odchylenie standardowe (Std. Deviation). Dla wartości, które odbiegają od trzy odchylenia standardowe od średniej zostaną przypisane wartości progowe. Metoda Std. Deviation została rekomendowana przez środowisko Oracle Data Miner. Po wyeliminowaniu osobliwości dla atrybutów numerycznych, należało zająć się brakującymi danymi dla atrybutów kategorycznych. Atrybuty, w których pojawiała się wartość? to: state of previous residence (GRINST) 708 rekordów migration code-change in msa (MIGMTR1) 99696 rekordów migration code-change in reg (MIGMTR3) 99696 rekordów

47 migration code-move within reg (MIGMTR4) 99696 rekordów migration prev res in sunbelt (MIGSUN) 99696 rekordów country of birth father (PEFNTVTY) 6713 rekordów country of birth mother (PEMNTVTY) 6119 rekordów country of birth self (PENATVTY) 3393 rekordów Wartości? dla atrybutów: GRINST, MIGMTR1, MIGMTR3, MIGMTR4, MIGSUN zostały zamienione na Not In universe, natomiast: PEFNTVTY, PEMNTVTY, PENATVTY na wartość United- States (wartość dominująca). Kolejnym krokiem była normalizacja wybranych atrybutów numerycznych. Atrybutem, który znormalizowałem jest wage per hour (AHRSPAY), ponieważ w moim odczuciu jest on istotny z punktu późniejszych zadań (wyznaczanie atrybutu INCOME), zakres zmienności jest duży (0 9400 przy wartości średniej 54,82), dodatkowo można by się pokusić o dyskretyzację tego atrybutu ponieważ w analizowanej próbce aż 98% przypadków należało do jednej klasy. Wydaję mi się, iż w tym kroku dodatkowo można było uwzględnić atrybuty: capital gains (CAPGAIN), capital losses (CAPLOS), dividends from stock (DIVVAL), ze względu na ich bardzo szeroki zakres zmienności, ale po analizie histogramu doszedłem do wniosku, iż lepszym rozwiązaniem będzie dyskretyzacja, znów ze względu na skupienia.

48 Kolejnym krokiem była dyskretyzacja wybranych atrybutów numerycznych. Po analizie histogramów, charakteru danych oraz celu eksploracji zdecydowałem, że dyskretyzacja obejmie atrybuty: age (AAGE), weeks worked in year (WKSWORK), capital gains (CAPGAIN), capital losses (CAPLOS), dividends from stock (DIVVAL). Dla atrybutu wiek ustalonych zostało 6 przedziałów - kierowałem się odczuciem, iż wybrane przeze mnie granice odpowiadają nijako etapom życia człowieka. Dla pozostałych atrybutów parametry dyskretyzacji były dobierane samodzielnie na podstawie analiz histogramów: - liczba przepracowanych tygodni w roku 3 - zyski kapitałowe 4 - straty kapitałowe 2 - zyski z gry na giełdzie 9

49

50

51

52

53

54 Kod perspektywy dzięki, której atrybut kategoryczny AMARITL został dyskretyzowany na dwie kategorie: 1 osoby w związku małżeńskim, 0 osoby samotne: CREATE VIEW "SUM55566"."CENSUS_05_DISCRETIZE_AMARITL" AS SELECT "AAGE", "ACLSWKR", "ADTIND", "ADTOCC", "AHGA", "AHRSPAY", "AHSCOL", ( CASE WHEN "AMARITL" = 'Married-civilian spouse present' THEN 1 WHEN "AMARITL" = 'Married-spouse absent' THEN 1 WHEN "AMARITL" = 'Married-A F spouse present' THEN 1 WHEN "AMARITL" = 'Divorced' THEN 0 WHEN "AMARITL" = 'Widowed' THEN 0 WHEN "AMARITL" = 'Never married' THEN 0 WHEN "AMARITL" = 'Separated' THEN 0 END ) "AMARITL", "AMJIND", "AMJOCC", "ARACE", "AREORGN", "ASEX", "AUNMEM", "AUNTYPE", "AWKSTAT", "CAPGAIN", "CAPLOSS", "DIVVAL", "FEDTAX", "GRINREG", "GRINST", "HHDFMX", "HHDREL", "INCOME", "MARSUPWT", "MIGMTR1", "MIGMTR3", "MIGMTR4", "MIGSAME", "MIGSUN", "NOEMP", "PARENT", "PEFNTVTY", "PEMNTVTY", "PENATVTY", "PRCITSHP", "SEOTR", "VETQVA", "VETYN", "WKSWORK", "YEAR" FROM "SUM55566"."CENSUS"; Kolejnym krokiem było określenie ważności atrybutów względem atrybutu decyzyjnego INCOME. Zaprezentuje wyniki obserwacji dla danych źródłowych (A) oraz danych po eliminacji osobliwości, uzupełnieniu brakujących wartości, dyskretyzowanych oraz znormalizowanych (B).

(A) 55

(B) 56

57 Atrybuty, które w największym stopniu wpływają na wartość atrybutu INCOME w obu przypadkach to: education (AHGA) oraz major occupation code (AMJOCC). Znaleziona prawidłowość jest oczywista, ponieważ uzyskiwany dochód jest w rzeczy samej uzależniony od wykształcenia i etatu, na którym dana osoba jest zatrudniona. Następny sklasyfikowany atrybut to: (A) major industry code (AMJIND) i (B) weeks worked in year (WKSWORK) w przypadku analizy danych po wstępnych modyfikacjach. I tutaj również nie można polemizować nad prawdziwością takiego stwierdzenia, ponieważ te czynniki również w przeważającej większości warunkują wysokość zarobków. Uzyskane wyniki są zgodne z moimi oczekiwaniami. Atrybuty, które w mają najmniejszy wpływ na wartość atrybutu INCOME to w przypadku (A): state of previous residence (GRINST), capital losses (CAPLOS), wage per hour (AHRSPAY), capital gains (CAPGAIN), weeks worked in year (WKSWORK), year (YEAR), natomiast (B): divdends from stocks (DIVVAL), wage per hour (AHRSPAY), year (YEAR) oraz fill inc questionnaire for veteran's admin (VETQVA). Interpretacja tym razem nie jest dla mnie tak czytelna i oczywista. Jeżeli chodzi o atrybuty: year, state of previous residence oraz fill inc questionnaire for veteran's admin to faktycznie nie należy doszukiwać się bliższego związku: natomiast atrybuty: weeks worked in year czy też wage per hour są według mnie skorelowane z wartością zysku ponieważ stawka godzinowa i ilość przepracowanych tygodni w roku nijako wyznaczają zysk. Być może na otrzymany rezultat złożył się rozkład próbkowanych danych (zakres zmienności, ilość wartości unikalnych).

58 Kolejnym krokiem było wykorzystanie algorytmu k-means do znalezienia najbardziej charakterystycznych skupień cech.

59 Dla wartości parametru k = 6, instancje rozkładały się w miarę równomiernie pośród znalezionych skupień. Do szczegółowej analizy wybrałem skupisko o ID = 6. Po zapoznaniu się z histogramami mogę stwierdzić, iż zakwalifikowano przede wszystkim osoby, które: były w wieku do 15 roku życia nie dotyczą ich pojęcia: klasa pracownika (class of worker), kod branży (industry code), kod zawodu (occupation code) poziom wykształcenia opisany jest jako Children otrzymywały najniższą stawkę godzinową nigdy nie były w związku małżeńskim były białej rasy, płeć bez znaczenia (55% stanowią kobiety) w bardzo małym stopniu udział w ich zarobku stanowią dochody z tytułu lokat lub gry na giełdzie nie dotyczy ich zagadnienie konieczności płacenia podatków Pozostałe atrybuty jak i te, które właśnie opisałem wskazują ewidentnie na to, iż analizowane skupisko to DZIECI. Kolejnym zadaniem było zbudowanie naiwnego klasyfikatora Bayesa, dzięki któremu możliwe będzie przewidywanie wartości atrybutu decyzyjnego INCOME na podstawie wartości pozostałych atrybutów. Atrybuty, które weszły w skład modelu zostały dobrane doświadczalnie.

60

61

62

Wyniki otrzymane (Test Matrix) dla danych uczących przy generowaniu modelu: 63

Wyniki otrzymane (Test Matrix) dla danych testowych (bez uwzględnienia Cost Matrix) 64

65

Wyniki otrzymane (Test Matrix) dla danych testowych (z uwzględnieniem Cost Matrix) 66

67 Macierz kosztów zmodyfikowała rezultat predykcji, polepszając jakość dla preferowanej grupy, ale niestety zaniżyła ogólną jakość klasyfikatora.

68 Kolejnym zadaniem było zbudowanie drzewa decyzyjnego, dzięki któremu możliwe będzie przewidywanie wartości atrybutu decyzyjnego INCOME na podstawie wartości pozostałych atrybutów. Atrybuty, które weszły w skład modelu zostały dobrane doświadczalnie.

69

70

Wyniki otrzymane (Test Matrix) dla danych uczących przy generowaniu modelu: 71

Wyniki otrzymane (Test Matrix) dla danych testowych (Cost Matrix ustawienie 1) 72

73

Wyniki otrzymane (Test Matrix) dla danych testowych (Cost Matrix ustawienie 2) 74

75

76 W przypadku drzewa decyzyjnego zaobserwowałem podobna prawidłowość jak dla naiwnego klasyfikatora Bayesa, a mianowicie dokładność predykcji preferowanej grupy możemy dostrajać modyfikacjami w macierzy kosztów.