Informatyka, studia dzienne, inż I st. semestr VI
Inteligentna analiza danych 2010/2011
Prowadzący: dr inż. Arkadiusz Tomczyk środa, 8:30
Data oddania: Ocena:
Marek Rogalski 150982
Paweł Tarasiuk 151021
Zadanie 1 ∗
1. Cel
Celem zadania było stworzenie programu przetwarzającego zbiory danych oraz wyliczającego statystyki cech, a także rozważenie możliwości klasyfikacji zbiorów na podstawie obliczonych statystyk.
2. Wprowadzenie
W zbiorach danych możemy wydzielać różnego rodzaju cechy. Dwie z nich, na jakie zwracaliśmy uwagę w naszej pracy to cechy nominalne, oraz ciągłe. Cecha nominalne jest to pewna wartość z dyskretnego, przeliczalnego zbioru wartości, często utożsamiana z etykietą. Cechy nominalne w prosty sposób dzielą zbiór badany zbiór na zestaw podzbiorów.
Cecha ciągła jest to liczba reprezentująca pewną mierzalną wartość badanego
obiektu. Cechy ciągłe często występują w zależnościach względem nadanych
Średnią harmoniczną: P
n1 xŚrednią geometryczną: √
nQ x Medianę: x
bn/2cDominantę: max(n
x) → x
K-ty moment centralny (dla k=1,2,3):
P
(xi−x)k nOdchylenie standardowe:
r P
(xi−x)2 n
Współczynnik asymetrii oparty na dominancie:
x−DsMoment standaryzowany trzeciego rzędu:
µσ33Kurtozę:
µσ44− 3
3. Opis implementacji
Rozwiązanie zostało zaimplementowane z wykorzystaniem programów i narzędzi takich jak: python2.6, python3.0, gnuplot, bash, make, gcc, sed, grep. Praca programu dzieli się na dwie części. Pierwsza z nich, zarządzana
Rysunek 1. Grube strzałki oznaczają przepływ danych. Małe reprezentują hierar- chię katalogów.
przez skrypt Makefile, pobiera dane i przygotowuje opisy zbiorów, a następ- nie uruchamia skrypty plot.py (generuje wykresy współzależności cech) i
2
histit.py (rysuje histogramy cech). Skrypty te przeglądają wskazany zbiór danych, a następnie uruchamiają program gnuplot (wielokrotnie, w oddziel- nych procesach) i wykonują w nim polecenia niezbędne do narysowania od- powiednich wykresów. Wynik ich pracy trafia do katalogu plots.
Druga część programu, uruchamiana przez skrót browse.sh, wyświetla okno przeglądania statystyk. W oknie można wykonać takie operacje jak wybór zbioru danych, filtrować zbiór według wartości cech nominalnych, a także określać ilość przedziałów klasowych rysowanego histogramu.
Program jest sterowany przez plik browse.py. W celu obliczania statystyk, uruchamia on szereg instancji programu vicious, który sam w sobie oblicza statystyki podanych na wejściu liczb, oraz przekazuje im na wejście odpo- wiednio przefiltrowane dane. Wyniki działania prezentowane są w tabeli w górnej części programu. Druga funkcja programu browse.py to rysowanie hi- stogramów odpowiednich cech. Histogramy rysowane są za każdym razem gdy użytkownik zmieni interesującą go cechę lub filtr danych.
4. Materiały i metody
Przetwarzane dane były ciągami rekordów w formacie CSV opisujący- mi populacje: irysów, słuchotek, oraz mieszkańców Stanów Zjednoczonych.
Przetwarzane dane badane były na trzy zasadnicze sposoby:
— Poprzez obliczenie szeregu statystyk. Wśród nich: średniej arytmetycz- nej, średniej harmonicznej, średniej geometrycznej, mediany, dominanty, k-tego momentu centralnego (dla k=1,2,3), odchylenia standardowego, współczynnika As, momentu standaryzowanego trzeciego rzędu, oraz kur- tozy.
— Poprzez wykonanie wykresów cech z wyróżnieniem grup cech nominalnych dzielących zbiór rekordów. Wykresy wykonano dla wszystkich par cech ciągłych z podziałem na każdą cechę nominalną.
— Poprzez wykonanie zestawu histogramów obrazujących rozkład wartości z uwzględnieniem cech nominalnych. Histogramy wykonano dla każdej cechy ciągłej z podziałem na każdą cechę nominalną. Niektóre histogra- my dla zwiększenia czytelności zostały rozbite na kilka osobnych tak by elementy dominującej grupy nie zaciemniały histogramów pozostałych grup.
Celem wykonania wykresów oraz histogramów było rozważenie zależności po-
jawiających się w zbiorze danych. Zależności tych doszukiwaliśmy się poprzez
szukanie zależności geometrycznych na wykresach par cech, oraz zgrupowań
Tabela 1: Zestaw Iris
Iris - Histogram (1) Iris - Histogram (2)
Iris - Histogram (3) Iris - Histogram (4)
Iris - Wykres (1) Iris - Wykres (2)
Iris - Wykres (3) Iris - Wykres (4)
4
Tabela 1: Zestaw Iris
Iris - Wykres (5) Iris - Wykres (6)
Tabela 2: Zestaw Abalone
Abalone - Histogram (1) Abalone - Histogram (2)
Abalone - Histogram (3) Abalone - Histogram (4)
Abalone - Histogram (5) Abalone - Histogram (6)
Tabela 2: Zestaw Abalone
Abalone - Histogram (7) Abalone - Histogram (8)
Abalone - Wykres (1) Abalone - Wykres (2)
Abalone - Wykres (3) Abalone - Wykres (4)
Abalone - Wykres (5) Abalone - Wykres (6)
6
Tabela 2: Zestaw Abalone
Abalone - Wykres (7) Abalone - Wykres (8)
Abalone - Wykres (9) Abalone - Wykres (10)
Abalone - Wykres (11) Abalone - Wykres (12)
Abalone - Wykres (13) Abalone - Wykres (14)
Tabela 2: Zestaw Abalone
Abalone - Wykres (15) Abalone - Wykres (16)
Abalone - Wykres (17) Abalone - Wykres (18)
Abalone - Wykres (19) Abalone - Wykres (20)
Abalone - Wykres (21) Abalone - Wykres (22)
8
Tabela 2: Zestaw Abalone
Abalone - Wykres (23) Abalone - Wykres (24)
Abalone - Wykres (25) Abalone - Wykres (26)
Abalone - Wykres (27) Abalone - Wykres (28)
Tabela 3: Zestaw Adult
Adult - Histogram (1) Adult - Histogram (2)
Tabela 3: Zestaw Adult
Adult - Histogram (3) Adult - Histogram (4)
Adult - Histogram (5) Adult - Histogram (6)
Adult - Histogram (7) Adult - Histogram (8)
Adult - Histogram (9) Adult - Histogram (10)
10
Tabela 3: Zestaw Adult
Adult - Histogram (11) Adult - Histogram (12)
Adult - Histogram (13) Adult - Histogram (14)
Adult - Histogram (15) Adult - Histogram (16)
Adult - Histogram (17) Adult - Histogram (18)
Tabela 3: Zestaw Adult
Adult - Histogram (19) Adult - Histogram (20)
Adult - Histogram (21) Adult - Histogram (22)
Adult - Histogram (23) Adult - Histogram (24)
Adult - Histogram (25) Adult - Histogram (26)
12
Tabela 3: Zestaw Adult
Adult - Histogram (27) Adult - Histogram (28)
Adult - Histogram (29) Adult - Histogram (30)
Adult - Histogram (31) Adult - Histogram (32)
Adult - Histogram (33) Adult - Histogram (34)
Tabela 3: Zestaw Adult
Adult - Histogram (35) Adult - Histogram (36)
Adult - Histogram (37) Adult - Histogram (38)
Adult - Histogram (39) Adult - Histogram (40)
Adult - Histogram (41) Adult - Histogram (42)
14
Tabela 3: Zestaw Adult
Adult - Histogram (43) Adult - Histogram (44)
Adult - Histogram (45) Adult - Histogram (46)
Adult - Histogram (47) Adult - Histogram (48)
Adult - Histogram (49) Adult - Histogram (50)
Tabela 3: Zestaw Adult
Adult - Histogram (51) Adult - Histogram (52)
Adult - Histogram (53) Adult - Histogram (54)
Adult - Histogram (55) Adult - Histogram (56)
Adult - Histogram (57) Adult - Histogram (58)
16
Tabela 3: Zestaw Adult
Adult - Histogram (59) Adult - Histogram (60)
Adult - Histogram (61) Adult - Histogram (62)
Adult - Histogram (63) Adult - Wykres (1)
Adult - Wykres (2) Adult - Wykres (3)
Tabela 3: Zestaw Adult
Adult - Wykres (4) Adult - Wykres (5)
Adult - Wykres (6) Adult - Wykres (7)
Adult - Wykres (8) Adult - Wykres (9)
Adult - Wykres (10) Adult - Wykres (11)
18
Tabela 3: Zestaw Adult
Adult - Wykres (12) Adult - Wykres (13)
Adult - Wykres (14) Adult - Wykres (15)
Adult - Wykres (16) Adult - Wykres (17)
Adult - Wykres (18) Adult - Wykres (19)
Tabela 3: Zestaw Adult
Adult - Wykres (20) Adult - Wykres (21)
Adult - Wykres (22) Adult - Wykres (23)
Adult - Wykres (24) Adult - Wykres (25)
Adult - Wykres (26) Adult - Wykres (27)
20
Tabela 3: Zestaw Adult
Adult - Wykres (28) Adult - Wykres (29)
Adult - Wykres (30) Adult - Wykres (31)
Adult - Wykres (32) Adult - Wykres (33)
Adult - Wykres (34) Adult - Wykres (35)
Tabela 3: Zestaw Adult
Adult - Wykres (36) Adult - Wykres (37)
Adult - Wykres (38) Adult - Wykres (39)
Adult - Wykres (40) Adult - Wykres (41)