OWD 2012- 3- Zeven tools voor digitaal toetsen- Raoul Teeuwen
OWD Lato1213
-
Upload
krzysztofswider -
Category
Documents
-
view
224 -
download
0
Transcript of OWD Lato1213
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 1/36
POLI
Odkry
„Eksploracj
ECHNIKA RZESZOWSKAKatedra Informatyki i Automatyki
anie wiedzy z dan
Krzysztof Ś wider
Materiały pomocnicze do przedmiotów:
danych” i „Systemy wspomagania
Semestr letni 2012/2013
ch
decyzji”
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 2/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
2
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 3/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
3
Spis treści
1 SYSTEMY ANALIZY DANYCH ........................................................................................ 4 1.1 Rozwój systemów analitycznych................................................................................................ 4
1.2 Zapytania i raporty .................................................................................................................... 5
1.3 Odkrywanie wiedzy z danych .................................................................................................... 6
1.4 Przetwarzanie analityczne on-line ............................................................................................. 6
1.5 Eksploracja danych .................................................................................................................... 8
1.6 Wspomaganie decyzji na podstawie analizy danych ................................................................ 10
2 WYBRANE METODY WSTĘPNEJ OBRÓBKI DANYCH ......................................... 11 2.1 Istota wstępnej obróbki .......................................................................................................... 11
2.2 Czyszczenie danych .................................................................................................................. 11
2.3 Integracja danych .................................................................................................................... 13
2.4 Transformacja ......................................................................................................................... 15
2.5 Redukcja .................................................................................................................................. 17
3 HURTOWNIE DANYCH I APLIKACJE OLAP ........................................................... 19
3.1 Pojęcie oraz cechy hurtowni danych ........................................................................................ 19
3.2 Modele danych dla aplikacji OLAP ........................................................................................... 20
3.3 Kostki danych .......................................................................................................................... 21
3.4 Aplikacje OLAP ........................................................................................................................ 22
4 KLASYFIKACJA I REGRESJA ....................................................................................... 24 4.1 Istota i modele klasyfikacji ...................................................................................................... 24
4.2 Regresja................................................................................................................................... 25
4.3 Generowanie drzew decyzyjnych ............................................................................................ 26
5 METODY WYKORZYSTUJĄCE UCZENIE BEZ NADZORU.................................... 31
5.1 Grupowanie ............................................................................................................................. 31
6 ANALIZA ASOCJACJI ..................................................................................................... 33
6.1 Częste wzorce .......................................................................................................................... 33
6.2 Reguły asocjacji ....................................................................................................................... 33
6.3 Odkrywanie częstych zbiorów ................................................................................................. 35
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 4/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
4
1 Systemy analizy danych
1.1 Rozwój systemów analitycznych
W ostatnich dekadach znacząco wzrosła liczba systemów zarządzania
przedsiębiorstwami klasy ERP wyposażonych w bazę danych a coraz częściej tak że w
hurtownie danych. Umożliwiają one efektywne zarządzanie dużymi zbiorami stale
napływających danych. Rozwój systemów przeznaczonych do gromadzenia i przetwarzania
informacji dodatkowo przyśpieszyło pojawienie się Internetu jako nowej możliwości
pozyskiwania danych w postaci elektronicznej na niespotykaną dotychczas skalę.
Większość przedsiębiorstw komercyjnych funkcjonuje w warunkach szybkiego postępu
oraz konkurencji rynkowej. Wymogi klientów szybko się zmieniają, stąd konkurujące firmy
muszą stale poszukiwać nowych produktów oraz sposobów zwiększania swojego udziału na
rynkach. Podstawowym zasobem firm do osiągnięcia tych celów staje się wiedza o własnej
kondycji oraz o otaczającym świecie. Wiedza taka może w szczególności posłużyć do
wczesnego wykrywania pewnych trendów, czy też przewidywania bądź objaśniania pewnych
zjawisk. Jednym ze sposobów zdobywania wiedzy jest analiza dużych ilości danych, które
firmy gromadzą w swoich systemach komputerowych. Dotychczasowe narzędzia
przetwarzania danych takie jak: SQL czy klasyczne aplikacje baz danych (formularze,
raporty) są przeznaczone głównie do wspomagania codziennej (operacyjnej) działalności firm
i instytucji. Możliwości analizowania danych przy użyciu takich aplikacji są ograniczone i
sprowadzają się głównie do sporządzania zestawień i wykresów. Tymczasem działalność na
poziomie decyzyjnym wymaga nie tylko danych ale przede wszystkim wiedzy. Dlatego we
współczesnych systemach informacyjnych, coraz więcej uwagi poświęca się pozyskiwaniu
wiedzy z danych przy użyciu nowej generacji technik analizy. W ostatnich latach pojawiło się pojęcie odkrywania wiedzy z danych (knowledge discovery from data - KDD), jako dziedziny
rozwoju systemów przetwarzania danych, która obejmuje szereg zaawansowanych technik
takich jak: hurtownie danych, technologia OLAP oraz eksploracja danych (data mining).
Systemy odkrywania wiedzy z danych są tak że określane jako systemy analityczne stanowiąc
jednocześnie ważny kierunek rozwoju współczesnych baz danych (rys.1.1). Z reguły
wykorzystuje się przy tym technologie baz danych oraz wybrane metody sztucznej
inteligencji i statystyki, a analiza dotyczy danych o znacznej objętości.
Stosowane obecnie techniki analizy danych można zatem zaliczyć do jednej z trzech
kategorii obejmujących: (i) zapytania i raporty, (ii) analizę OLAP oraz (iii) eksplorację
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 5/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
5
danych. O ile jednak zapytania i raporty są zaliczane do klasycznych aplikacji baz danych to
analiza OLAP oraz eksploracja danych reprezentują nowy kierunek rozwoju współczesnych
systemów analitycznych określany jako odkrywanie wiedzy z danych. Systemy te w
większym stopniu niż tradycyjne aplikacje baz danych mogą być wykorzystane do
wspomagania strategicznych decyzji w przedsiębiorstwach.
Rys.1.1 Systemy analityczne a rozwój technologii baz danych.
1.2 Zapytania i raporty
Zapytania i raporty to znane z kursu baz danych mechanizmy pozwalające na szybki i
uporządkowany dostęp do danych przechowywanych w bazie. Przykładem zapytania może
być użycie polecenia SELECT w języku SQL lub kwerendy w programie MS Access,
podczas gdy przykładem raportu może być raport uzyskany przy pomocy specjalizowanego
narzędzia (na przykład takiego jakie udostępnia MS Access).
Rys. 1.2 Schemat przetwarzania zapytania.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 6/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
6
Zapytania i raporty są rodzajem analizy sterowanej całkowicie przez analityka, który
musi sformułować konkretne zapytania, bądź utworzyć aplikacje raportujące (rys.1.2).
Oznacza to, że analiza jest w pełni nakierowana na ten problem, który w danej chwili bada
analityk, a uzyskane wyniki nie wykraczają poza ściśle określony, wcześniej zaplanowany
obszar.
1.3 Odkrywanie wiedzy z danych
Metody stosowane do odkrywania wiedzy z danych wykraczają poza klasyczne
aplikacje baz danych oparte na zapytaniach SQL i charakteryzują się ograniczeniem wpływu
analityka na proces analizy oraz uzyskiwane wyniki.
Rys.1.3 Ogólny schemat odkrywania wiedzy z danych.
Rysunek 1.3 przedstawia ogólny schemat wieloetapowego odkrywania wiedzy z
danych. Do analizy wykorzystuje się różne źródła danych, jak np.: bazy danych, pliki
tekstowe i inne. Dane źródłowe są często organizowane w specjalne bazy przeznaczone do
analizy, nazywane hurtowniami danych, a wyselekcjonowane dane są poddawane zabiegom
analitycznym. Wynikiem są różnego rodzaju modele i wzorce zwykle prezentowane wprzejrzystej formie z użyciem grafiki. Ocena i interpretacja wyników jest zadaniem analityka.
Ogólnym celem jest pozyskanie potrzebnej wiedzy, która często jest ukryta w danych. Wiedza
jest tutaj rozumiana jako pewne zależności, modele, reguły, wzorce, itp. wynikające z danych.
1.4 Przetwarzanie analityczne on-line
W przypadku przetwarzania analitycznego on-line, określanego tak że jako analiza
OLAP, dane są organizowane w dużych zbiorach w ten sposób aby możliwa była ich
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 7/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
7
efektywna analiza, dzięki możliwości przeglądania wzdłuż pewnych aspektów
semantycznych nazywanych wymiarami. Typowe wymiary to: czas, produkt , klient itp.
Stosując technologię OLAP można przeglądać dane nie tylko w różnych wymiarach, ale
na różnych poziomach hierarchii w pojedynczego wymiaru. Np. wymiar klient można
rozpatrywać na następujących poziomach hierarchii: państwo, region, miasto czy konkretny
sklep. Liczba wymiarów może być różna, choć często na rysunkach dane zorganizowane
wielowymiarowo przedstawia się w postaci sześcianów nazywanych kostkami OLAP lub
kostkami danych (data cubes). Aby przybliżyć niektóre praktyczne możliwości OLAP,
rozważymy prosty przykład analizy sprzedaży.
Rys.1.4 Przykładowa analiza OLAP.
Załóżmy, że pewna firma sprzedaje na terytorium Polski produkty: X, Y i Z w
kilkunastu miastach położonych w 4 regionach: północnym, centralnym, zachodnim oraz
południowo-wschodnim. Co kwartał dokonywana jest analiza wyników sprzedaży
poszczególnych produktów, a analityk ma do dyspozycji aplikację OLAP za pomocą której
dokonuje tej analizy. Przypuśćmy tak że, że w 3 kwartale 2007 r. wzrost sprzedaży
poszczególnych produktów wyglądał w sposób pokazany na wykresie z rys 1.4a. Sam w sobie
wykres ten ma charakter wyłącznie ilościowy i nie dostarcza żadnych informacji na temat
przyczyn małego wzrostu sprzedaży produktu Z. Z drugiej strony wykorzystywana tu
aplikacja OLAP daje możliwość podjęcia próby „objaśnienia” zaistniałego stanu rzeczy
dzięki możliwości stopniowego (on-line) przechodzenia do kolejnych wykresów pokazanych
na rys. b) i c). W szczególności analiza sprzedaży samego tylko produktu Z w
poszczególnych regionach (b), a następnie miastach (c), pozwala uzyskać znacznie więcej
informacji o występującym problemie.
Z reguły przygotowanie aplikacji OLAP wymaga zbudowania hurtowni danych
zorganizowanej według określonego modelu.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 8/36
1.5 Eksploracja danyc
Technologia OLAP p
wszystkim w zakresie tzw. „
jeszcze bardziej ograniczone,Tymczasem współczesne sy
bardziej zaawansowanych n
grupowanie, wyszukiwanie
udostępniają metody i tech
odkrywanie wiedzy z danyc
modeli oraz odkrywanie wzo
różnych źródeł a w szczególn
Cechą charakterystycz
„dotrzeć” do wiedzy na tyle
przewidzieć jej istnienia. Istni
eksploracji danych, a do na
klastry, reguły asocjacyjne i i
na rys. 1.5.
Rys.1
Źródłem danych do an
(HD) zasoby WWW oraz in
reguły poddawane wstępnej o
odpowiada za dostarczenie
eksplorację (motor) zawiera
klasyfikacji, predykcji, grupo
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
8
ozwala wspomagać system podejmowan
objaśniania zachowań”. Możliwości zapyta
ponieważ w praktyce ograniczają się dostemy wspomagania decyzji, wymagają
arzędzi analitycznych, które umożliwiłyb
zęstych wzorców, analizę asocjacji itd.
iki „eksploracji danych”. Zadaniem ekspl
, a stosowane metody i techniki umożliw
rców i trendów na podstawie danych. Dane
ści mogą być wcześniej zapisane w hurtown
ą systemów eksploracji danych jest to,
krytej w danych, iż sam analityk nie byłby
eją różne metody reprezentowania wiedzy u
bardziej znanych należą: model regresji,
ne. Typową architekturę systemu eksplorac
.5 Architektura systemu eksploracji danych
lizy mogą być tradycyjne (relacyjne) BD,
e źródła (pliki tekstowe, arkusze kalkulacy
róbce pod k ątem przygotowania do analizy
anych zgodny z żądaniami użytkownika.
komponenty funkcjonalne zapewniające w
ania, odkrywania wzorców itd. Moduł oce
ia decyzji przede
oraz raportów są
analizy ilościowej.astosowania coraz
np. klasyfikację,
Takie możliwości
oracji danych jest
iają konstruowanie
mogą pochodzić z
i danych.
że pozwalają one
w stanie wcześniej
zyskanej w wyniku
drzewa decyzyjne,
i danych pokazano
.
hurtownie danych
jne itp). Dane są z
serwer HD lub BD
Moduł realizujący
ykonywanie zadań
y wzorców stosuje
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 9/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
9
się na ogół pewne miary użyteczności odkrywanej wiedzy i we współpracy z modułem
eksploracji wpływa na wyszukiwanie najbardziej interesujących (użytecznych) wzorców.
Interfejs zapewnia integracje użytkownika z systemem eksploracji, w tym możliwość
sformułowania zadań eksploracji, wizualizację wzorców ich ocenę przydatności itp.
Dodatkowo architektura systemu ED może obejmować specjalną bazę wiedzy wspomagającą
proces analizy oraz ocenę użyteczności uzyskanych wyników.
Używając metod i technik ED można realizować różnorodne funkcje określone przez
charakter i rodzaj wzorców otrzymanych w wyniku eksploracji. Ogólnie zadania zrealizowane
w ED można podzielić na 2 klasy:
• eksploracja opisowa (descriptive mining)
• eksploracja predykcyjna ( predictive mining)
Eksploracja opisowa służy do tego, aby uzyskać ogólny pogląd na pewne właściwości
danych w analizowanym zbiorze. Natomiast eksploracja predykcyjna zakłada wykorzystanie
istniejących danych do przewidywania (predykcji) niektórych wartości przyszłych (nowych)
danych.
Do typowych metod stosowanych w wielu współczesnych systemów eksploracji danych
należą: klasyfikacja i predykcja, grupowanie, analiza asocjacji i inne. Wybrane spośród nich
zostaną przedstawione bliżej w dalszej części tego opracowania.
W stosunku do dwóch scharakteryzowanych wcześniej metod analizowania danych, tj.
zapytań /raportów oraz analizy wielowymiarowej OLAP, techniki eksploracji danych
zakładają istotne zredukowanie roli analityka w formułowaniu zadania analizy. Odkrywaniewiedzy jest tutaj w większym stopniu procesem samoczynnym, to jest zdeterminowanym
przez same dane (rys.1.6).
Rys.1.6 Eksploracja danych a inne metody analizy.
Warto zauważyć, że w przypadku eksploracji danych udział analityka jest zredukowany
nie tylko w formułowaniu problemu, ale tak że w samym przebiegu analizy.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 10/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
10
1.6 Wspomaganie decyzji na podstawie analizy danych
Historycznie relacyjne systemy zarządzania bazami danych koncentrowały się na
przetwarzaniu transakcji (OLTP - OnLine Transaction Processing) (rys 1.7).
Rys.1.7 Rozwój systemów wspomagania decyzji.
Technologia hurtowni danych umożliwiła opracowanie hurtowni danych (data
warehouse) oraz składnic danych (data mart ) celem wykorzystywania ich w systemach
wspomagania decyzji. Technologia OLAP oraz eksploracja danych umożliwiają
wykorzystanie danych gromadzonych w bazach OLTP i hurtowniach do analizy. Opracowano
zaawansowane metody i narzędzia pozwalające stosować w praktyce techniki OLAP i
eksplorację danych.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 11/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
11
Brakującewartości
2 Wybrane metody wstępnej obróbki danych
2.1 Istota wstępnej obróbki
Przypuśćmy że mamy przeanalizować dane pewnej firmy handlowej ze szczególnym
uwzględnieniem sprzedaży w poszczególnych oddziałach. W typowym przypadku
rozpoczynamy przeglądamy bazy lub hurtowni danych w celu wyszukania tych atrybutów,
które zamierzamy wykorzystać w analizie. Mogą nimi być np.: identyfikator transakcji, cena,
liczba sprzedanych sztuk, wartość transakcji itp. Z dużym prawdopodobieństwem może się
okazać, że niektóre z pól które powinny zawierać dane są puste. Może tak że brakować
istotnych atrybutów, jak na przykład informacji, czy pewien artykuł był sprzedany w
normalnym trybie, czy na wyprzedaży. Ponadto możemy spotkać błędne dane, wartości spoza
zakresu oraz inne niepożądane sytuacje. Podsumowując, dane, które mają być poddaneanalizie mogą okazać się :
• niekompletne – brakuje wartości interesujących nas atrybutów bądź całych atrybutów,
• zakłócone – występują wartości błędne lub znacząco odbiegające od spodziewanych,
• niespójne – zawierające sprzeczności (np. oznaczenie kodu tego samego działu
odbywa się na różne sposoby).
Kolejne problemy pojawiają się wówczas, gdy maja być analizowane dane z różnych
źródeł, co z reguły polega na łączeniu różnych baz danych, kostek danych lub plików.
Typowym przykładem jest sytuacja, atrybuty odnoszące się do tych samych danych mają wróżnych bazach różne nazwy np. id_klienta oraz klient_id . Niejednorodność może pojawić się
tak że w zapisie wartości atrybutów, np.: K/M, kobieta /mężczyzna, 0/1 itp.
Istnieje szereg metod mających na celu polepszenie jakości danych wykorzystywanych do
analizy. Celem jest zwiększenie skuteczności analizy, a wyróżnić można następujące typowe
metody wstępnej obróbki:
1) czyszczenie danych,
2) integracja danych,
3) transformacja danych,
4) redukcja danych.
2.2 Czyszczenie danych
Procedury czyszczenia danych polegają na próbach wypełniania brakujących wartości
atrybutów, wygładzania występujących szumów (zakłóceń) oraz likwidowania sprzeczno ści.
W celu ilustracji problemu brakujących wartości rozważymy firmę sprzedającą artykuły
elektroniczne. Załóżmy, że przeglądając dane za pewien okres stwierdzono
brak wartości pewnych atrybutów, np. dochód_klienta. Celem zaradzenia tej
takiej sytuacji, można zastosować różnorodne zabiegi, podobne do tych jakie
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 12/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
12
Problemzakłóconych
danych
Pojemnikowanie
scharakteryzowano poniżej.
Zignorowanie krotki. Nie jest to metoda zbyt atrakcyjna, gdy brakuje jedynie pojedynczych
wartości; zawodzi zwłaszcza wtedy, gdy występują istotne różnice w brakujących
wartościach atrybutów.
Ręczne wpisanie brakujących wartości. Jest to podejście czasochłonne, a w przypadku
znacznych braków i dużych baz danych trudno wykonalne.
Użycie globalnej stałej do wypełniania brakujących wartości. Chodzi o zastąpienie
brakujących wartości stałą etykietą typu „nieznana wartość”.
Użycie średniej wartości atrybutu Jeśli na przykład średni dochód klienta wynosi 50 tys., to
taka właśnie wartość służy do wypełniania brakujących wartości atrybutu
dochód_klienta. Można tak że użyć średniej obowiązującej dla krotek tej samej klasy np.
brakujący dochód zastępujemy dochodem jaki mają klienci o takim samym ryzyku
kredytowym.
Użycie najbardziej najprawdopodobniej wartości. Może być ona wyznaczona za pomocą
regresji lub drzewa decyzyjnego.
Zakłócenie to pewien losowy błąd mierzonej wartości. Powstaje zatem
problem wygładzenia danych w celu pozbycia się zakłócenia wartości
pewnego atrybutu numerycznego jak np. cena. Istnieje kilka technik
rozwiązywania tego problemu, wśród których wyróżnić można: pojemnikowanie,
grupowanie, regresję.
W przypadku pojemnikowania wygładza się posortowane dane przezsprawdzenie ich sąsiedztwa (wartości leżących wokół nich).
Posortowane wartości są umieszczane w pojemnikach. Można to zilustrować w następującym
przykładzie.
Przykład 2.1
Wartości pewnego atrybutu są sortowane:
4 8 15 21 21 24 25 28 34,
a następnie dzielone na pojemniki:
Pojemnik I: 4 8 15
Pojemnik II: 21 21 24
Pojemnik III: 25 28 34
Wygładzanie wg średnich pojemnika polega na zastąpieniu każdej wartości pojemnika
wartością średnią:
Pojemnik I: 9 9 9
Pojemnik II: 22 22 22
Pojemnik III: 29 29 29
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 13/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
13
Grupowanie
Regresja
Problem
sprzeczności
danych
Wygładzanie można tak że przeprowadzić wykorzystując wartości graniczne. Wartość
najmniejsza i największa zostają wtedy wybrane jako graniczne a pozostałe zastąpione przez
najbliższą wartość graniczną. Otrzymujemy wtedy:
Pojemnik I: 4 4 15
Pojemnik II: 21 21 24Pojemnik III: 25 25 34
W przypadku ogólnym, im większy jest zakres, którym się zajmujemy, tym lepszy jest
efekt wygładzania. Alternatywą pokazanego sposobu jest zastosowanie pojemników
jednakowej szerokości; w takim przypadku zakres wartości umieszczonych w pojemniku jest
stały.
Poprzez grupowanie można wykryć (zidentyfikować) tzw. wartości
izolowane. W tym przypadku wartości zbliżone do siebie są organizowane
w grupy określane tak że jako klastry (clusters). Intuicyjnie wnioskuje się wówczas, że
wartości, które wypadają poza klaster mogą zostać uznane za izolowane, co oznacza, że ze
znacznym prawdopodobieństwem zostały one zakłócone.
Użycie regresji pozwala na wygładzanie danych przez dopasowanie do
funkcji. Regresja liniowa polega ona na znajdowaniu w pewnym sensie
optymalnej prostej dopasowanej do 2 zmiennych, w ten sposób, że w oparciu o jedną zmienną
można wyznaczać drugą. Większość metod wygładzania stanowi jednocześnie metodę
redukcji np. technika pojemnikowania pozwala zmniejszyć liczbę różnych wartości danego
atrybutu.W istniejących danych mogą wystąpić pewne niespójności. Część z nich
może być usunięta ręcznie, jak np. błędy powstałe w wyniku wprowadzania
danych. Można tak że użyć narzędzi inżynierii wiedzy w celu wykrycia
ograniczeń. Do wykrycia wartości sprzecznych z ograniczeniami można zastosować
zależności funkcjonalne pomiędzy atrybutami. Sprzeczności mogą pojawić się w danych np.
w wyniku integracji, kiedy pewien atrybut nosił różne nazwy w różnych bazach danych.
2.3 Integracja danych
Eksploracja danych często wymaga przeprowadza integracji, tj. połączenia danych z
wielu źródeł tak aby mogły być poddane wspólnej analizie. Dane takie muszą być
przekształcone w jedną, spójną strukturę. Przykładami źródeł mogą być: bazy danych,
struktury wielowymiarowe (kostki), pliki tekstowe oraz inne zasoby (rys.2.1).
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 14/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
14
Rys.2.1 Źródła integrowanych danych.
Dokonując integracji należy pamiętać o kilku kwestiach. Po pierwsze należy odrzucić
sztywny schemat integracji, gdyż może być ona wtedy trudna do wykonania. Jednym
z istotnych problemów jest dopasowanie encji z różnych baz danych. Chodzi o to aby ustalić,
że pewien atrybut o nazwie identyfikator klienta id_klienta, z jednej bazy danych oraz
nr_klienta z innej, odnoszą się do tej samej encji. Pomocne mogą okazać się tu tzw. metadane
czyli „dane o danych”, dostępne zazwyczaj w bazach i hurtowniach danych. Kolejną ważną
kwestią jest nadmiarowość danych. Jeżeli wartość pewnego atrybutu może być
wywnioskowana na podstawie wartości innych atrybutów to może okazać się, że jest on
zbędny. Niespójności w nazewnictwie mogą tak że wywołać nadmiarowość w zbiorze
wynikowym, co może zostać wykryte z użyciem analizy korelacji. Załóżmy, że interesują nas
związki pomiędzy dwoma atrybutami A i B. Analiza korelacyjna, bazując na dostępnych
danych, może zmierzyć jak bardzo jeden atrybut implikuje drugi. W szczególności
współczynnik korelacji pomiędzy atrybutami A i B może być obliczony wg równania:
, =∑ ሺ − ҧሻሺ − തሻ
ୀଵ
gdzie:
- liczba krotek,
,ഥ ത – średnie wartości atrybutów A i B,
, – odchylenia standardowe wartości atrybutów A i B.
Jeżeli wartość wyrażenia z prawej strony jest większa od 0, to mówimy, że atrybuty
A i B są dodatnio skorelowane. Znaczy to tyle, że jeśli wartości atrybutu A rosną, to rosną
tak że wartości B. Im większa wartość parametru r A,B obliczonego z tego równania, tym
bardziej jeden atrybut implikuje (określa) drugi. A zatem wysoka wartość r A,B wskazuje, że
atrybut A (lub B) jest nadmiarowy i może być usunięty. Jeżeli wartość współczynnikakorelacji wynosi 0 to atrybuty A i B są niezależne. Jeśli natomiast r A,B < 0, A i B są ujemnie
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 15/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
15
skorelowane czyli jeżeli wartość jednego rośnie, to drugiego maleje. Można zatem, używając
tej zależności, sprawdzić wzajemną korelację wspomnianych wyżej atrybutów id_klienta i
nr_klienta.
Innym problemem nadmiarowości jest wykrywanie powielających się krotek, tzn.
sytuacji, w której w zbiorze danych pojawiają się krotki identyczne.
Kolejną istotną sprawą dotyczącą integracji jest wykrywanie konfliktów pomiędzy
wartościami. Dla tej samej encji, wartości atrybutów pochodzących z różnych źródeł mogą się
różnić, co wynika z różnic reprezentowaniu tych wartości w każdym ze źródeł, ich
skalowaniu lub kodowaniu, np. wartości atrybutu waga mogą być przechowywane w jednej
bazie w jednostkach metrycznych, a w innej w funtach, cena pobytu w hotelu może nie tylko
być wyrażona w różnych walutach a tak że obejmować różne usługi (np. darmowe śniadanie)
itp. Taka semantyczna (znaczeniowa) jednorodność danych, stanowi spore wyzwanie dla
metod integracji. Należy podkreślić, że staranna integracja danych z różnych źródeł pomaga
zlikwidować (lub co najmniej zminimalizować) nadmiarowości i niespójności w zbiorze
wynikowym. Ma to znaczny wpływ na skuteczność i szybkość przyszłego procesu
eksploracji.
2.4 Transformacja
Podczas transformacji dane zostają przekształcone oraz skonsolidowane do postaci
odpowiedniej dla zastosowanej w konkretnym przypadku procedury eksploracji. Wszczególności w ramach transformacji może powstać potrzeba:
• wygładzania (zagadnienie to omówiono w podrozdziale poświęconym oczyszczaniu
danych);
• agregacji – dane poddaje się operacji sumowania oraz zespalania. Na przykład, dane
dotyczące dziennych obrotów mogą być zsumowane w celu uzyskania obrotu
miesięcznego i rocznego;
• generalizacja (uogólnianie) – zabieg ten polega na zastąpieniu danych
niskopoziomowych danymi poziomu wyższego z zastosowaniem hierarchii pojęć, np.
w przypadku danej takiej jak wiek, podawanej w latach, można zastosować pojęcia na
wyższym poziomie hierarchii, np.: „młody”, „średni”, „starszy”,
• normalizacja – polega na takim przeskalowaniu wartości aby należały do pewnego
założonego zakresu np. < −1, 1 >;
• tworzenie atrybutów – czyli tworzenie cech, tj. dodawanie do bazy nowych atrybutów
na podstawie atrybutów istniejących. Ogólnym celem tego procesu jest poprawienie
wydajności eksploracji,
Wygładzanie stanowi jedną z form usuwania zakłóceń i zostało omówione w podrozdziale
poświęconym czyszczeniu danych, natomiast agregacja oraz generalizacja zostaną krótko
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 16/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
16
przedstawione w podrozdziale dotyczącym redukcji danych. Tutaj zajmiemy się normalizacją
i tworzeniem atrybutów.
Normalizacja
Jak już wspomniano, atrybut jest normalizowany w ten sposób, że jego wartości są
skalowane tak, aby należały do pewnego wąskiego, określonego przedziału. Normalizacja jest
użyteczna zwłaszcza wtedy, gdy algorytm klasyfikacji korzysta z sieci neuronowych lub
algorytmów związanych z pomiarem odległości, takich jak np. grupowanie Przyjrzymy się
trzem metodom normalizacji:
• normalizacja typu MIN-MAX,
• normalizacja wg wartości,
• normalizacja przez skalowanie dziesiętne.
Normalizacja typu MIN-MAX. Polega na liniowej transformacji danych. Załóżmy, że min A i
max A oznaczają odpowiednio najmniejszą i największą wartość atrybutu A. Normalizacja tego
typu odwzorowuje wartość v atrybutu A na wartość v' należącą do przedziału [new_min A,...,
new_max A] wg następującej zależności:
ᇱ =− min
−
∗ ሺ __ − __ ሻ + _min
Normalizacja tego typu zachowuje związki pomiędzy oryginalnymi wartościami atrybutu.
Jeśli jednak w przyszłości do normalizacji zostanie przeznaczona wartości spoza pierwotnego
zakresu zmienności atrybutu A, to może wystąpić błąd przekroczenia założonego przedziału.
Przykład 2.2
Załóżmy, że wartości z przedziału: min A = 12 000, max A = 98 000 chcemy odwzorować na
zakres <0,0...1,0> stosując normalizację MIN-MAX. Zatem wartość v = 73 600 zostanie
przekształcona na v' = [(73 600 – 12 000)/(98 000 – 12 000)]* (1 – 0) + 0 = 0,716
Normalizacja wg wartości (normalizacja typu zero średnia). Metoda oparta jest na
średniej i odchyleniu standardowym atrybutu A. Pewna wartość v atrybutu A jest
normalizowana do v' z zależności:
ᇱ =− ҧ
gdzie:
− ℎ ś
ҧ − ś ś
Metoda ta jest użyteczna, gdy nie znamy rzeczywistych wartości min i max atrybutu A lub
istnieją wartości izolowane (nietypowe), które mogłyby dominować podczas normalizacji
typu MIN-MAX.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 17/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
17
Przykład 2.3
Załóżmy, że średnia atrybutu A = 64000 a odchylenie 16000. Wówczas dla v=73600
otrzymujemy v' = (73600-64000)/16000 = 0,6.
Normalizacja przez skalowanie dziesiętne. Odbywa się ona przez przesunięcie przecinka
dziesiętnego w wartości atrybutu A. Liczba miejsc, o jak ą należy przesunąć przecinek, zależy
od maksymalnej wartości bezwzględnej atrybutu A. Wartość v atrybutu A zostaje
znormalizowana do v' następująco:
ᇱ =10
gdzie
− ł , , ż maxሺ| |ሻ < 1
Przykład 2.4
Załóżmy, że zarejestrowane wartości atrybutu A zajmują zakres od -917 do 986. Największa
wartość bezwzględna atrybutu A wynosi 986, dlatego każdą wartość dzielimy przez 1000, tzn.
j = 3. Wówczas wartość 986 zostanie znormalizowana do 0,986, a wartość – 917 do -0,917.
Zauważmy, że normalizacja może w pewnym stopniu zmienić oryginalne dane.
Konieczne jest tak że zachowanie parametrów normalizacji (takich jak średnia i odchylenie
standardowe), tak aby dane wprowadzone w przyszłości były normalizowane w jednakowy
sposób.
Tworzenie atrybutówTechnika tworzenia atrybutów polega na konstruowaniu nowych atrybutów z
atrybutów istniejących w celu polepszenia wydajności i lepszego zrozumienia danych,
z którymi pracujemy. Na przykład możemy zdecydować się na dodanie atrybutu pole
powierzchni obliczając jego wartości na podstawie atrybutów szerokość i długość. Atrybuty
nowo utworzone pozwalają wyszukiwać brakujące informacje o związkach pomiędzy
atrybutami, co tak że może być użyteczne w procesie odkrywania wiedzy.
2.5 Redukcja
Złożona analiza dużych ilości danych może trwać tak długo, że analiza stanie się
niepraktyczna lub niewykonalna. Aby temu zaradzić, można stosować pewne techniki
redukcji danych. Służą one uzyskaniu zbioru danych, który jest znacznie mniejszy
objętościowo a jednocześnie zapewnia integralność tak jak dane oryginalne. Inaczej mówiąc,
drążenie danych zredukowanych powinno być bardziej wydajne, a jednocześnie dawać takie
same (lub prawie takie same) wyniki analizy. Do strategii redukcji zalicza się na przykład
agregację kostek danych dotyczącą danych zorganizowanych wielowymiarowo. Z kolei w
przypadku redukcji wymiarów ma miejsce wykrywanie i usuwanie atrybutów nieistotnych,
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 18/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
18
mało istotnych lub nadmiarowych. Inną możliwość stanowi kompresja, gdzie korzysta się z
mechanizmów kodowania aby zredukować wielkość zbioru danych. W pewnych sytuacjach
może być dokonana redukcja numeryczna, która polega na zastępowaniu lub przybliżaniu
danych z wykorzystaniem alternatywnych, oszczędniejszych reprezentacji. Redukcja
numeryczna może być w szczególności dokonana przez próbkowanie bądź zastosowanie
histogramów. Przykładem może być model parametryczny, w przypadku którego
przechowuje się tylko parametry modelu zamiast właściwych danych. Mogą to być tak że
zabiegi nieparametryczne jak próbkowanie bądź zastosowanie histogramów. Ważnymi
sposobami dokonywania redukcji są tak że dyskretyzacja i tworzenie hierarchii pojęć. W
przypadku dyskretyzacji pierwotne wartości atrybutów są zastępowane całymi przedziałami
lub pojęciami wyższego poziomu. Hierarchie pojęć umożliwiają eksplorację danych na
różnych poziomach abstrakcji.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 19/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
19
3
Hurtownie danych i aplikacje OLAP
3.1 Pojęcie oraz cechy hurtowni danych
Najprościej hurtownię danych można zdefiniować jako bazę danych z przeznaczeniem
do analizy. W praktyce hurtownie buduje się wykorzystując technologie baz danych. Dane
mogą pochodzić z wielu różnych źródeł zarówno będących własnością danej firmy jak i
pochodzących z zewnątrz (rys.3.1).
Rys.3.1 Hurtownia danych.
Do istotnych cech odróżniających hurtownię od bazy operacyjnej zalicza się:
•••• znacznie większą objętość,
•••• ograniczenie możliwości manipulowania danymi przez zwykłego użytkownika tylko
do odczytu,
•••• uwzględnienie czasu (konsekwentnie przechowuje się tak że dane archiwalne).
Często pojawia się sytuacja gdy analizie poddawany jest tylko pewien fragment
funkcjonowania firmy, w jakimś sensie ograniczony tematycznie. Wówczas zamiast
wykorzystywać globalną hurtownię wystarczy wcześniej wydzielić szereg hurtowni
tematycznych nazywanych tak że składnicami danych (data mart ). Można wówczas mówić o
architekturze systemu hurtowni co ilustruje rys.3.2.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 20/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
20
Rys.3.2 Architektura systemu hurtowni danych.
3.2 Modele danych dla aplikacji OLAP
W przypadku gdy hurtownia danych jest wykorzystywana przez aplikacje OLAP, dane
organizuje się w tabele relacyjne zgodne z pewnymi schematami. Przykładem jest schemat
(model) gwiazdy (rys.3.3).
Rys.3.3 Schemat gwiazdy.
Schemat gwiazdy składa się z pojedynczej tabeli faktów połączonej z pewną liczbą tabel
wymiarów. W praktyce wykorzystuje się bazę relacyjną oraz mechanizm kluczy obcych.
Tabela faktów zawiera przede wszystkim dane numerycznie odnoszące się do tzw. miar, np.:
ilość, kwota, wielkość rabatu itp. Pozostałe atrybuty w tabeli faktów to klucze obce
zapewniające połączenie z tabelami wymiarów. Z kolei tabele wymiarów charakteryzują dane
wzdłuż pewnych wielkości semantycznych (wymiarów). Do typowych przykładów
wymiarów należą: czas, produkt oraz klient . W praktyce liczba wymiarów może być różna niż
trzy. Wymiary pozwalają analizować dane na różnych poziomach hierarchii, np wymiar czas
może mieć następujące poziomy hierarchii: rok , kwartał , miesiąc oraz dzień.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 21/36
Schemat gwiazdy nie jes
hurtowni danych. Innym, zna
3.3 Kostki danych
Ze względu na wielow
kostki danych (data cubes) na
W przedstawionym p
Atrybuty „model” i „grupa” t
poziomu „grupa” są to: pral
określonego poziomu hierarch
Dzięki możliwości w
obliczeń podsumowujących h
odpowiednia do przetwarzan
OLAP wykorzystujące wiedz
umożliwić wszechstronną p
hierarchii). Przykładami oper
których ideę zilustrowano na
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
21
t jedynym modelem jaki może być użyty
ym przykładem jest model płatka śniegu.
ymiarowość danych często mówi się, że dan
zywane tak że kostkami OLAP (rys.3.4).
Rys.3.4 Przykład kostki danych.
rzykładzie „klient”, „czas” i „produkt” to
orzą hierarchię wymiaru produkt. Wartości
i, lodówki i telewizory) tworzą tzw. ucze
ii wymiaru.
lądu w wielowymiarowe dane oraz wyko
urtownia danych stosująca model gwiazdy
a analitycznego on-line (OLAP). Przewid
ę z dziedziny, z której pochodzą badane
ezentację tych danych (szczególnie na r
acji OLAP są: rozwijanie (drill down) oraz
ys.3.5.
do projektowania
tworzą tzw.
nazwy wymiarów.
tych atrybutów (dla
stników (members)
ywania wstępnych
wydaje się w pełni
iano tzw. operacje
rzez dane tak, aby
óżnych poziomach
zwijanie (roll up),
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 22/36
Ry
Można na przykład „roz
i w ten sposób otrzymać pods
ale w stosunku do wymiaru k
poszczególne miasta w region
3.4 Aplikacje OLAP
Aplikacja analityczna
Dane pochodzące z różnych
wstępnej obróbce obejmując
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
22
s.3.5 Istota operacji rozwijania i zwijania.
wijać” dane o sprzedaży podsumowane poc
umowania miesięczne. Postępując w pewny
lient można uzyskać bardziej ogólną kwotę
ie.
ys.3.6 Ogólny schemat aplikacji OLAP.
OLAP (rys.3.6) wykorzystuje dane zgroma
źródeł (bazy relacyjne, pliki tekstowe, i
ej ekstrakcję, transformację i ładowanie
ątkowo kwartałami
m sensie odwrotnie
sprzedaży sumując
zone w hurtowni.
tp.) poddawane są
ETL - Extraction,
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 23/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
23
Transformation, Loading). Użytkownicy aplikacji analitycznej OLAP wykorzystują dane
zorganizowane wielowymiarowo w postaci kostek. Użytkownicy mogą wykonywać
różnorodne operacje na danych takie jak roll-up oraz drill down, obserwując przedstawione w
postaci tabelarycznej bądź graficznej. Warto zaznaczyć, że interfejsem użytkownika jest z
reguły przyjazna w obsłudze aplikacja (wykorzystywany jest m.in. program MS Excel).
Zadaniem administratora systemu analitycznego jest jego utrzymywanie, zwłaszcza w
zakresie systematycznego zasilania danymi.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 24/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
24
4 Klasyfikacja i regresja
4.1 Istota i modele klasyfikacji
Klasyfikacja polega na poszukiwaniu modelu opisującego pewne klasy, który
umożliwiłby predykcję (przewidywanie), do jakiej klasy należy zaliczyć analizowane obiekty.
Model powstaje na podstawie zbioru danych trenujących, których przynależność do danej
klasy jest z góry określona. Generowanie modelu w przypadku klasyfikacji odbywa się
metodą uczenia nadzorowanego, określanego tak że jako uczenie z nauczycielem (supervised
learning). Oznacza to w szczególności, że wymagany jest zbiór uczący, w którym każdy
obiekt (przypadek), charakteryzowany przez pewną liczbę atrybutów opisowych, jest
jednocześnie zaliczony do pewnej klasy wskazanej przez atrybut klasyfikujący (zmienną
celu). Zbiór uczący powinien zawierać możliwie reprezentatywną grupę przykładów, tak abyskuteczność klasyfikowania była zadowalająca. Klasy zmiennej celu powinny być dyskretne,
tzn. nie można zastosować klasyfikacji tam, gdzie zmienna celu przyjmuje wartości ciągłe.
Jednym z możliwych sposobów zapisu modelu klasyfikacji jest zbiór reguł postaci
<iloczyn_predykatów> => <klasa>,
co ilustruje następujący przykład:
wiek(X, młody) and dochód(X, wysoki) => klasa (X, A);
wiek(X, młody) and dochód (X, niski) => klasa (X, B);
wiek (X, średni) => klasa (X, C);
wiek (X, stary) => klasa (X, C).
Tak zapisany zbiór reguł jest przykładem modelu klasyfikacji, który przypisuje nieznany
obiekt X do jednej z klas A, B lub C. Warto tak że zwrócić uwagę, że wartości atrybutów
wiek , dochód oraz klasa nie są liczbowe, gdyż charakterystyczne dla metod klasyfikacji jest
to, że operują one nie tylko na atrybutach ilościowych, ale tak że jakościowych.
Często spotykanym rodzajem modelu klasyfikacji są drzewa decyzyjne (rys.4.1).
Rys. 4.1 Przykład drzewa decyzyjnego.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 25/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
25
Drzewo decyzyjne jest reprezentowane przez strukturę drzewiastą, w której każdy z
węzłów nie będących liściem reprezentuje test wartości pewnego atrybutu. W przykładzie na
rys. 4.1. korzeń opisany etykietą wiek , zaleca sprawdzenie wartości tego atrybutu dla całej
populacji analizowanej grupy ludzi. Poszczególne gałęzie (krawędzie) odpowiadają różnym
wynikom testu. Na przykład gałąź młody wychodząca z węzła wiek prowadzi do węzła
dochód , a gałąź średni,stary prowadzi do liścia C. Obie te gałęzie rozdzielają całą
analizowaną populację na dwie grupy. Dla pierwszej z nich będzie testowany kolejny atrybut
w węźle dochód a druga stanowi klasę docelową C. W efekcie przedstawione na rysunku
drzewo decyzyjne dokonuje klasyfikacji przydzielając klasyfikowanym obiektom jedną
spośród klas: A, B lub C, którym odpowiadają liście drzewa.
Drzewa decyzyjne są jednym z przykładów reprezentowania wiedzy uzyskanej w
procesie eksploracji danych. Aby otrzymać drzewo należy przygotować zbiór danych
uczących, a następnie zastosować jeden spośród istniejących algorytmów generowania
drzewa. Uzyskane drzewo może być użyte do klasyfikacji nowych danych.
Do znanych metod klasyfikacji należą tak że sieci neuronowe. Przykład sieci, która
przypisuje obiekty z rozważanego przykładu do klas A, B i C pokazano na rys.4.2.
Rys. 4.2 Model klasyfikacji w postaci sieci neuronowej.
Sieć neuronowa stanowi zbiór tzw. neuronów (jednostek przetwarzania), połączonych
ze sobą. Neurony tworzą warstwy. Warstwa wejściowa jest związana z zadanymi wartościami
parametrów, a warstwa wyjściowa odpowiada klasom.
4.2 Regresja
Metoda regresji znajduje zastosowanie tam, gdzie mamy do czynienia z predykcją
numeryczną. W takich przypadkach wykorzystuje się model regresji w postaci równania
otrzymanego na podstawie pewnego zbioru znanych wartości liczbowych. Mając równanie
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 26/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
26
można wyznaczyć wartości nieznane. W przykładzie na rys. 4.3, na podstawie dużego zbioru
danych o wysokości dochodów i wydatków pewnej grupy osób, wygenerowano równanie
regresji w postaci linii prostej.
Rys. 4.3 Prosty przykład modelu regresji.
Linia reprezentuje model uzyskany na podstawie danych rzeczywistych. Równanie
może posłużyć dalej do przewidywania wydatków osób, których dochód jest nam znany.
Zarówno klasyfikacja, jak i regresja mogą wymagać analizy tzw. istotności atrybutów, która
ma na celu wskazanie tych, które nie mają wpływu na proces predykcji i mogą być
wykluczone z dalszego przetwarzania.
4.3 Generowanie drzew decyzyjnych
Procedurę generowania drzewa decyzyjnego można zilustrować na przykładzie
algorytmu CART [Breiman i in.. 1984] oraz zbioru uczącego zawartego w tab. 4.1. Algorytm
generuje regularne drzewa binarne, to znaczy, że każdy węzeł decyzyjny ma dokładnie dwóch
synów. W procesie generowania rekordy ze zbioru uczącego są rekurencyjnie dzielone na
podzbiory z podobnymi wartościami zmiennej celu, przy czym w każdym węźle decyzyjnym
rozważane są wszystkie możliwe podziały i wybierany ten który okazuje się najlepszy według
następującego kryterium:
ሺ / ሻ = 2 ∑ | ሺ / ሻ − ሺ / ሻ|#௦௬ୀଵ , (4.1)
gdzie
- lewy potomek węzła t ,
- prawy potomek węzła t ,
=liczba rekordów w ௧ై
liczba rekordów w zbiorze uczącym,
= liczba rekordów w ௧ౌ liczba rekordów w zbiorze uczącym
,
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 27/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
27
ሺ / ሻ =liczba rekordów należących do klasy w ௧ై
liczba rekordów w t ,
ሺ / ሻ =liczba rekordów należących do klasy w ௧ౌ
liczba rekordów w t .
Tabela 4.1
Klient Oszczędności Majątek Dochód (tys.$) Ryzyko kredytowe
1 średnie duży 75 małe
2 małe mały 50 duże
3 duże średni 25 duże
4 średnie średni 50 małe
5 małe średni 100 małe
6 duże duży 25 małe
7 małe mały 25 duże
8 średnie średni 75 małe
Zależność 4.1 mówi, że optymalny podział to ten, który maksymalizuje wartość
ሺ / ሻ po wszystkich możliwych podziałach w węźle t . W naszym przykładzie wszystkie
osiem rekordów ze zbioru uczącego w tab. 4.1 wchodzi do korzenia. Możliwe podziały w
korzeniu, które rozważa algorytm CART pokazano tab.4.2.
Tabela 4.2
Podział Lewe poddrzewo Prawe poddrzewo
1 oszczędności = małe oszczędności∈
{średnie,duże}
2 oszczędności = średnie oszczędności ∈ {małe,duże}
3 oszczędności = duże oszczędności ∈ {małe,średnie}
4 majątek = mały majątek ∈ {średni,duży}
5 majątek = średni majątek ∈ {mały,duży}
6 majątek = duży majątek ∈ {mały,średni}
7 dochód ≤ 25 dochód > 25
8 dochód ≤ 50 dochód > 50
9 dochód ≤ 75 dochód > 75
W tab.4.3 zestawiono wartości pośrednie wpływające na wielkość ሺ / ሻ w
przypadku każdego z podziałów z tab.4.2. Pomocniczo wprowadzono wielkość ሺ / ሻ =
∑ | ሺ / ሻ − ሺ / ሻ|#௦௬ୀଵ . Czynnik ten jest duży gdy suma odległości pomiędzy ሺ / ሻ
oraz ሺ / ሻ liczona dla wszystkich (w naszym przypadku dwóch) klas jest odpowiednio
duża. Teoretyczną wartością maksymalną dla ሺ / ሻ jest k , gdzie k jest liczbą klas (w
naszym przykładzie k =2). Z kolei czynnik 2 jest duży gdy i są duże tzn. liczby
przypadków trafiających do lewego i prawego poddrzewa są w miarę wyrównane.
Teoretyczną wartością maksymalną dla 2 jest 2*0,5*0,5=0,5. W ten sposób kryteriumሺ / ሻ preferuje te podziały w węzłach, które są jednorodne dla wszystkich klas, a tak że
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 28/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
28
wyrównane pod względem liczby przypadków zaliczonych do lewego oraz prawego węzła-
potomka.
Tabela 4.3
Podział ሺ / ሻ ሺ / ሻ ሺ / ሻ ሺ / ሻ
1 0,375 0,625 0,333 0,8 0,46875 0,934 0,4378
0,667 0,2
2 0,375 0,625 1 0,4 0,46875 1,2 0,5625
0 0,6
3 0,25 0,75 0,5 0,667 0,375 0,334 0,1253
0,5 0,333
4 0,25 0,75 0 0,833 0,375 1,667 0,6248
1 0,167
5 0,5 0,5 0,75 0,5 0,5 0,5 0,25
0,25 0,56 0,25 0,75 1 0,5 0,375 1 0,375
0 0,5
7 0,375 0,625 0,333 0,8 0,46875 0,934 0,4378
0,667 0,2
8 0,625 0,375 0,4 1 0,46875 1,2 0,5625
0,6 0
9 0,875 0,125 0,571 1 0,21875 0,858 0,1877
0,429 0
W naszym przykładzie czynnik 2 osiągnął maksymalną teoretyczną wartość dlapodziału 5, natomiast dla ሺ / ሻ maksymalna teoretyczna wartość nie występuje. Jeśli chodzi
o wartość kryterium najlepszego podziału ሺ / ሻ, to wynosi ona 0,6248 i została
zaobserwowana dla podziału 4. Oznacza to, że, według algorytmu CART, taki właśnie
podział zbioru przykładów uczących powinien być dokonany w węźle-korzeniu (rys.4.4).
Lewy fragment budowanego drzewa okazał się liściem, ponieważ oba przypadki, które
trafiły do tego węzła mają duże ryzyko kredytowe. Prawy segment okazuje się bardziej
różnorodny, dlatego wymagany jest dalszy jego podział. W nowej tabeli możliwych
podziałów (tab.4.4) dostępne są wszystkie dotychczasowe podziały z wyjątkiem podziału 4.
Rys. 4.4 Drzewo decyzyjne konstruowane przez CART po pierwszym podziale.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 29/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
29
Lewy fragment budowanego drzewa okazał się liściem, ponieważ oba przypadki, które
trafiły do tego węzła mają duże ryzyko kredytowe. Prawy segment jest bardziej różnorodny
(zawiera przypadki przypisane do różnych klas), dlatego wymagany jest dalszy jego podział.
W nowej tabeli możliwych podziałów w węźle decyzyjnym A (tab.4.4) dostępne są wszystkie
dotychczasowe podziały z wyjątkiem podziału 4. Jak widać, dla dwóch podziałów (3 i 7)
występuje największa wartość ሺ / ሻ, równa 0,4444. W takim przypadku wybierany jest
arbitralnie jeden z podziałów, np. 3, co prowadzi do struktury drzewa pokazanej na rys. 4,5.
Tabela 4.4
Podział ሺ / ሻ ሺ / ሻ ሺ / ሻ ሺ / ሻ
1 0,167 0,833 1 0,8 0,2782 0,4 0,1113
0 0,2
2 0,5 0,5 1 0,667 0,5 0,6666 0,3333
0 0,333
3 0,333 0,667 0,5 1 0,4444 1 0,4444
0,5 0
5 0,667 0,333 0,75 1 0,4444 0,5 0,2222
0,25 0
6 0,333 0,667 1 0,75 0,4444 0,5 0,2222
0 0,25
7 0,333 0,667 0,5 1 0,4444 1 0,4444
0,5 0
8 0,5 0,5 0,667 1 0,5 0,6666 0,3333
0,333 0
9 0,833 0,167 0,8 1 0,2782 0,4 0,1113
0,2 0
W węźle decyzyjnym B na rys. 4.5 pozostały dwa przypadki, dla których jedynym
możliwym podziałem jest podział ze względu na atrybut majątek (du ż y lub średni).
Uproszczenie wynika stąd, że wartości atrybutów: oszczędno ści oraz dochód są dla tych
przypadków jednakowe. Po podziale w węźle B otrzymujemy końcową postać drzewa
pokazaną na rys. 4.6.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 30/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
30
Rys. 4.5 Drzewo decyzyjne po podziale w węźle A.
Rys. 4.6 Drzewo decyzyjne po podziale w węźle B (postać końcowa).
Przedstawiony przykład, w sposób intuicyjny pokazuje działanie algorytmu CART. W
przypadku ogólnym, algorytm ten rekurencyjnie odwiedza istniejące węzły decyzyjne i
stosuje przedstawioną procedurę do ustalenia najlepszych podziałów w tych węzłach.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 31/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
31
5 Metody wykorzystujące uczenie bez nadzoru
5.1 Grupowanie
Grupowanie polega na łączeniu obiektów o podobnych charakterystykach w grupy
nazywane tak że klastrami (clusters). Obiekty w obrębie jednego klastra są do siebie podobne
wg pewnych kryteriów, natomiast obiekty należące do różnych klastrów wg tych samych
kryteriów odpowiednio różnią się między sobą.
Do typowych zastosowań grupowania należą handel oraz marketing, gdzie bardzo
przydatne może okazać się wyodrębnienie charakterystycznych grup klientów. Warto
zaznaczyć, że grupowanie nie tylko stanowi sam cel w sobie znajdując konkretne
zastosowania, ale może być tak że użyte wespół z innymi technikami eksploracji danych np.
do wyodrębniania klas w problemach klasyfikacji.
W odróżnieniu od klasyfikacji za pomocą drzew decyzyjnych, gdzie analiza dotyczyła
obiektów zaliczonych do z góry określonych klas (dane uczące miały etykiety klasy), w
przypadku grupowania żaden przydział klas nie jest z góry znany. Tutaj żadne etykiety w
danych uczących nie występują i to sam proces grupowania ma doprowadzić do
wygenerowania takich etykiet, czyli automatycznego wyodrębnienia grup określanych często
jako klastry (rys 5.1).
Rys. 5.1 Intuicyjna ilustracja grupowania.
.
Analizowane obiekty poddajemy grupowaniu (klasteryzacji) według następujących zasad: (i)
zmaksymalizować podobieństwo wewnątrz grupy oraz (ii) zminimalizować podobieństwo w
różnych grupach.
Klastry tworzone są zatem tak, że obiekty jednego klastra są „blisko siebie” jeśli
chodzi o wartości ich cech, natomiast obiekty w różnych klastrach powinny być odpowiednio
od siebie oddalone. Inną ważną cechą grupowania jest to, że w odróżnieniu od klasyfikacji,
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 32/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
32
gdzie występuje uczenie nadzorowane (z nauczycielem) tutaj mamy do czynienia z uczeniem
nienadzorowanym (bez nauczyciela).
W niektórych zastosowaniach warto rozważyć możliwość wspólnego zastosowania
klasyfikacji i grupowania, które użyte na różnych etapach analizy mogą wzajemnie się
uzupełniać. W szczególności można najpierw użyć grupowania do wyodrębnienia klastrów i
przypisania do każdego z nich wyróżniającego go atrybutu (etykiety). W kolejnej fazie
analizy zaetykietowane grupy traktuje się jako klasy, a następnie metodą uczenia
nadzorowanego wykorzystuje się zaetykietowane obiekty do budowy modelu klasyfikacji.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 33/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
33
6 Analiza asocjacji
Klasycznym przykładem zastosowania analizy asocjacji jest tzw. analiza koszykowa.
Rozważa się duży zbiór transakcji sklepowych, z których każda składa się z zestawu
artykułów zakupionych przez pewnego klienta i stanowiących zawartość koszyka. Zadaniepolega na uzyskaniu odpowiedzi na pytania takie jak: „które z artykułów pojawiają się w
koszykach z odpowiednio wysok ą częstotliwością?” oraz „czy istnieją zależności pomiędzy
grupami artykułów w tym sensie, że pojawienie się jakiejś grupy artykułów w koszyku
pociąga za sobą pojawienie się innej grupy?”. Kluczowym etapem analizy asocjacji jest
odkrywanie częstych wzorców w zbiorach transakcji.
6.1 Częste wzorce
Odkrywanie odpowiednio często występujących elementów w dużych zbiorach lub
strukturach danych nazywamy eksploracją (dr ąż eniem) częstych wzorców. Przykładem są
grupy towarów pojawiające się wystarczająco często w analizowanym zbiorze transakcji
sklepowych, jednak pojęcie to jest bardziej uniwersalne i obejmuje m.in.:
1. Częste zbiory pozycji (np. grupy artykułów w koszyku zakupów);
2. Częste podsekwencje (np. kolejność dokonywania zakupów);
3. Częste podstruktury (podgrafy, poddrzewa).
6.2 Reguły asocjacji
Poszukiwanie zależności między grupami wymaga wygenerowania tzw. reguł
asocjacyjnych. Warto rozpocząć od prostego, intuicyjnego określenia reguły asocjacyjnej,
jako wyrażenia postaci:
, B A⇒
gdzie A i B stanowią grupy elementów pewnego zbioru. Rozważmy następujący przykład
reguły:
{komputer } => { program}.
Reguła ta mówi, że kupowanie komputera „pociąga za sobą” kupowanie programu. Reguła
taka może być wygenerowana na podstawie analizy dużego zbioru transakcji, a o jej wartości
(stopniu, w jakim okazuje się interesująca) stanowią 2 parametry: wsparcie i zaufanie.
Przyjmijmy dalej, że wsparcie tej reguły wynosi 1%, a zaufanie 50%. Pierwszy parametr
mówi, że 1% procent wszystkich transakcji analizowanych zawiera oba te artykuły. Parametr
zaufanie określa fakt, że jeśli klient kupuje komputer to istnieje 50%-owa szansa, że kupi
tak że oprogramowanie.
Zwykle podaje się bardziej formalne definicje reguł asocjacyjnych oraz wsparcia izaufania. Niech I={I1, I2, I3,…,In} oznacza pewien globalny zbiór pozycji (np. artykułów
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 34/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
34
oferowanych przez sklep). Rozważmy dalej bazę D składającą się z transakcji T , gdzie T
oznacza zbiór pozycji, taki że ⊂ . Z każdą transakcją związany jest jej identyfikator
oznaczony TID. Załóżmy dalej, że A to zbiór pozycji. Mówimy, że transakcja T zawiera A
wtedy i tylko wtedy gdy zbiór A zawiera się w zbiorze T . Reguła asocjacyjna to wyrażenie
postaci :
, B A⇒
gdzie I A ⊂ , I B ⊂ , ∅. Reguła B A⇒ pojawia się w zbiorze D transakcji ze wsparciem s,
jeśli s wyraża procentowy udział tych transakcji, które zawierają jednocześnie zbiory A i B w
stosunku do wszystkich transakcji w zbiorze D. Jeśli oznaczyć symbolem B A∪ zbiór
złożony z elementów A oraz elementów B, to można formalnie zapisać, że wsparcie reguły to
prawdopodobieństwo wspólnego pojawienia się w transakcji obu stron reguły, tj.
ሺ ⇒ ሻ = ሺ ⋃ ሻ.
Reguła B A⇒ ma zaufanie c w zbiorze transakcji D, jeśli c stanowi procentowy udział
transakcji zawierających B w zbiorze wszystkich transakcji zawierających A, tj.
ሺ ⇒ ሻ = ሺ / ሻ = ሺ ⋃ ሻ/ ሺ ሻ.
Aby spośród wszystkich reguł uzyskanych w wyniku działania algorytmu eksploracji danych
wybrać tylko część, która wydaje się najbardziej interesująca, zadaje się progi minimalnegowsparcia i minimalnego zaufania. Reguły, których wartości wsparcia i zaufania przekraczają
minimalne progi nazywamy mocnymi. Podstawą analizy asocjacji (powiązań) pomiędzy
kupowanymi artykułami w pewnym zbiorze transakcji jest wygenerowanie reguł
asocjacyjnych, które spełniają warunek minimalnego wsparcia i minimalnego zaufania, co
oznacza, że policzone dla nich wartości wsparcia i zaufania przewyższają zadane minimalne
progi.
Przykład 6.1
Przyjmijmy, że zbiór I ={mleko, chleb, ser, masło, jajka} stanowi zbiór pozycji (artykułów),
natomiast zbiór transakcji D jest następujący:
1. {mleko, chleb, ser}
2. {mleko, chleb, masło}
3. {mleko, masło}
4. {mleko, ser}
Zbiór pozycji pojawiających się w transakcji i złożony z k pozycji nazywać będziemy k -
zbiorem. A zatem w transakcji: T = {mleko, chleb, masło} podzbiory jednoelementowe:
{mleko} {chleb} oraz {masło} to 1-zbiory, podzbiory dwuelementowe {mleko, chleb},
{mleko, masło} oraz {chleb, masło} to 2-zbiory a zbiór {mleko, chleb, masło} to 3-zbiór.
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 35/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
35
Wśród wszystkich transakcji z naszego przykładu można wyodrębnić następujące
podzbiory pozycji:
1-zbiory:
{mleko), wsparcie = 100%
{chleb}, wsparcie = 50%{ser}, wsparcie = 50%
{masło}, wsparcie = 50%
2-zbiory:
{mleko, chleb}, wsparcie = 50%
{mleko, ser}, wsparcie = 50%
{chleb, ser}, wsparcie = 25%
{mleko, masło}, wsparcie = 50%
{chleb, masło}, wsparcie = 25%
3-zbiory:
{mleko, chleb, ser}, wsparcie = 25%{mleko, chleb, masło}, wsparcie = 25%.
Zgodnie z definicją zbiorem częstym nazywamy zbiór, który ma wsparcie większe niż zadany
próg minimalnego wsparcia. Jeśli przyjąć minimalne wsparcie = 60%, to jedynym częstym
zbiorem pozycji w całej bazie D jest {mleko}. Przy obniżeniu progu minimalnego wsparcia
do 30% zbiorami częstymi są:
1-zbiory: {mleko}, {chleb}, {ser}, {masło}
2-zbiory: {mleko, chleb}, {mleko, ser}, {mleko, masło}.
Rozważymy jeszcze następujące dwie reguły asocjacji otrzymane na podstawie częstego
zbioru {mleko, chleb}:
{mleko} => {chleb} [wsparcie = 50%, zaufanie = 50%]
{chleb} => {mleko} [wsparcie = 50% , zaufanie = 100%].
Jeśli przyjąć minimalny próg wsparcia 30% oraz minimalny próg zaufania 60%, tylko ostatnia
z tych reguł jest regułą mocną.
W praktyce generowanie reguł asocjacyjnych jest procesem dwuetapowym. Pierwszy
etap stanowi generowanie częstych zbiorów. Zgodnie z definicją każdy z tych zbiorów
pozycji ma pojawić się z częstotliwością przewyższającą wcześniej ustalony próg
minimalnego wsparcia. Zadaniem drugiego etapu jest otrzymanie reguł asocjacyjnych napodstawie częstych zbiorów. Wygenerowane reguły muszą spełniać warunek minimalnego
wsparcia i minimalnego zaufania.
6.3 Odkrywanie częstych zbiorów
Przykładem klasycznej procedury odkrywania częstych zbiorów jest algorytm Apriori.
Nazwa algorytmu podkreśla istotę zastosowanej metody, która wykorzystuje wstępną
(a’priori) wiedzę o właściwościach częstych zbiorów pozycji. W szczególności wykorzystuje
się tzw. własno ść Apriori, która głosi, że wszystkie niepuste podzbiory częstych zbiorów
7/28/2019 OWD Lato1213
http://slidepdf.com/reader/full/owd-lato1213 36/36
Politechnika Rzeszowska - Katedra Informatyki i Automatyki
pozycji są tak ż e częste. Własność ta należy do klasy tzw. własności antymonotonicznych, w
tym sensie, że jeżeli określony zbiór nie spełnia pewnego testu, wówczas tak że wszystkie jego
nadzbiory nie spełniają tego testu.
W algorytmie wykorzystującym własność Apriori zastosowano iteracyjną strategię
przeszukiwania wszerz, przy czym k -zbiory pozycji są wykorzystywane do analizy (k+1)-
zbiorów. Procedura rozpoczyna się od przeglądania bazy transakcji celem wyodrębnienia
wszystkich 1-zbiorów, których wsparcie przewyższa zadany, minimalny próg. Wynik jest
zapisywany w zbiorze ଵ. Następnie, wykorzystując ଵ generowany jest zbiór wszystkich
częstych 2-zbiorów ଶ, który zostaje z kolei użyty do otrzymania ଷ itd. Procedura taka
powtarza się, aż do powstania sytuacji, w której nie można otrzymać więcej częstych
zbiorów. Warto zwrócić uwagę, że otrzymanie każdego wymaga pełnego skanowania
bazy. Własność Apriori jest wykorzystywana w algorytmie na etapie otrzymywania na
podstawie ିଵ dla ≥ 2 . Proces ten jest dwuetapowy i obejmuje ł ączenie oraz przycinanie
zbiorów.
W fazie łączenia celem otrzymania generowany jest zbiór kandydujących k -zbiorów
pozycji, przy pomocy specjalnego połączenia zbioru ିଵ z samym sobą. Powstały zbiór
kandydatów oznaczmy jako . Niech ponadto ଵ i ଶ oznaczają zbiory pozycji z ିଵ, a ሾ ሿ
oznacza j-tą pozycję w (np. ଵሾ − 2ሿ oznacza przedostatnią pozycję w ଵ). Przyjmuje się
dalej, że pozycje wewnątrz transakcji są uporządkowane w porządku leksykograficznym. Dla
(k -1)-zbioru pozycji oznacza to, że pozycje zostały uporządkowane tak, że ሾ1ሿ <
ሾ2ሿ < ⋯ < ሾ − 1ሿ. Połączenie ିଵ ⋈ ିଵ następuje dla tych zbiorów pozycji w ିଵ,dla których (k -2) pierwsze pozycje są takie same. Oznacza to, że elementy ଵ i ଶ zbioru ିଵ
są łączone jeśli ሺ ଵሾ1ሿ = ଶሾ1ሿሻ ∧ ሺ ଵሾ2ሿ = ଶሾ2ሿሻ ∧ … ∧ ሺ ଵሾ − 2ሿ = ଶሾ − 2ሿሻ ∧
ሺ ଵሾ − 1ሿ < ଶሾ − 1ሿሻ. Warunek ଵሾ − 1ሿ < ଶሾ − 1ሿ ma uchronić przed generowaniem
duplikatów. Wynikiem połączenia ଵ i ଶ jest zbiór złożony z k pozycji ଵሾ1ሿ ଵሾ2ሿ … ଵሾ −
1 2 −1 .
W fazie przycinania otrzymywany jest zbiór będący podzbiorem . Oznacza to, że
nie wszystkie zbiory kandydujące wchodzące w skład otrzymane w fazie łączenia są
częste, ale zbiór ten zawiera wszystkie częste k -zbiory. Wyznaczenie zbioru następuje
poprzez skanowanie bazy transakcji celem ustalenia liczby wystąpień każdego z kandydatów.
Jednak zbiór może mieć na tyle duży rozmiar, że operacja skanowania bazy spowoduje
znaczący spadek efektywności algorytmu. Redukcja wielkości zbioru jest możliwa, jeśli
zastosować własność Apriori, zgodnie z którą każdy ሺ − 1ሻ-zbiór pozycji, który nie jest
częsty nie może być podzbiorem częstego –zbioru. Zatem jeśli pewien ሺ − 1ሻ-podzbiór
kandydującego -zbioru nie jest częsty (nie należy do ିଵ), to ten zbiór kandydujący nie
może być częsty i można go usunąć z .