Data mining - Wydział Fizyki Technicznej i Matematyki Stosowanej

advertisement
Data mining
Stefania Wietrzykowska, Piotr Lebiedź
Politechnika Gdańska
Wydział Fizyki Technicznej i Matematyki Stosowanej
11 czerwca 2017
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
1 / 87
Eksploracja danych
Definicja (Eksploracja danych)
Eksploracja danych (ang. data mining) to jeden z etapów procesu
uzyskiwania wiedzy z baz danych (ang. Knowledge Discovery in
Databases, KDD). Idea eksploracji danych bazuje na wykorzystaniu
szybkości i mocy obliczeniowej komputera do znajdowania ukrytych dla
człowieka (z uwagi na ograniczone możliwości czasowe) prawidłowości i
schematów w danych zgromadzonych w hurtowniach danych.
Istnieje wiele technik eksploracji danych, które wywodzą się z
ugruntowanych dziedzin nauki, takich jak statystyka (statystyczna analiza
wielowymiarowa) i uczenie maszynowe.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
2 / 87
Hurtownie danych
Definicja (Hurtownia danych)
Hurtownia danych (ang. data warehouse) to baza danych, która została
zorganizowana i zoptymalizowana w celu odwzorowania pewnego wycinka
rzeczywistości.
Hurtownia danych jest wyższym szczeblem abstrakcji niż zwykła relacyjna
baza danych (choć do jej tworzenia używa się podobnych technologii). W
skład hurtowni wchodzą zbiory danych zorientowanych tematycznie (np.
hurtownia danych studentów). Dane te często pochodzą z różnych źródeł,
są zintegrowane i przeznaczone wyłącznie do odczytu.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
3 / 87
Hurtownie danych
W praktyce hurtownie są bazami danych integrującymi dane ze wszystkich
pozostałych systemów bazodanowych w przedsiębiorstwie. Ta integracja
polega na cyklicznym zasilaniu hurtowni danymi systemów produkcyjnych
(może być tych baz lub systemów dużo i mogą być rozproszone).
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
4 / 87
Dana mining
Architektura bazy hurtowni jest zorientowana na optymalizację szybkości
wyszukiwania i jak najefektywniejszą analizę zawartości. Stąd bywa, że
hurtownie danych nie są realizowane za pomocą relacyjnych baz danych,
gdyż takie bazy ustępują szybkością innym rozwiązaniom. Użytkownicy
końcowi hurtowni, czyli najczęściej zarząd firmy, korzystają z danych
hurtowni poprzez różne systemy wyszukiwania danych (np. Online
Analytical Processing (OLAP)).
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
5 / 87
Data mining
Ze względu na ilość i tematykę danych przeprowadzane analizy mogą
polegać na szukaniu trendów, zależności, wzorców itp. Dane
przechowywane w hurtowni są tematycznie spójne (dotyczą konkretnego
problemu lub instytucji, np. politechniki) oraz zintegrowane, co najczęściej
cechuje się centralizacją przechowywania danych (wszelkie dane są
przechowywane w jednym miejscu). Istnieją również zawężone tematycznie
hurtownie danych (np. jednego wydziału) nazywane minihurtowniami
danych (z ang. data mart).
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
6 / 87
Metodologia
Przeprowadzenie poprawnego Data Miningu to bardzo złożony proces,
zawierający wiele etapów - trzeba najpierw pozyskać odpowiednie dane,
zrozumieć, co przedstawia każda kolumna, sprawdzić, czy nie ma błędów
lub braków danych, które mogłyby przeszkodzić w pracy, itd. Aby
odpowiednio przeprowadzić Data Mining, potrzebny jest logiczny plan
działania uwzględniający wszystkie kroki konieczne do zrozumienia i
rozwiązania problemu.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
7 / 87
CRISP
Istnieją różne metodologie przeprowadzania eksploracji danych.
Jednym z modeli Data Mining jest CRISP - Międzybranżowy standardowy
proces dla eksploracji danych (ang. Cross-Industry Standard Process for
Data Mining ) zaproponowany w połowie lat dziewięćdziesiątych przez
europejskie konsorcjum przedsiębiorstw, jako powszechnie dostępny
standard dla procesów Data Mining. Model ten postuluje następujący ciąg
etapów projektu Data Mining :
Rysunek: Schemat CRISP
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
8 / 87
Sześć Sigma
Innym podejściem jest metodyka Sześć Sigma (ang. Six Sigma). Jest to
dobrze zorganizowana, bazująca na danych strategia unikania wad i
problemów z jakością we wszystkich rodzajach produkcji i usług,
zarządzaniu i każdej działalności biznesowej. Metodyka ta w ostatnich
latach staje się coraz bardziej popularna. Zaleca ona następujące etapy
(tzw. DMAIC):
1
Definiowanie (ang. Define);
2
Pomiar (ang. Measure);
3
Analiza (ang. Analyze);
4
Udoskonalenie (ang. Improve);
5
Kontrola (ang. Control)
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki Stosowanej)
11 czerwca 2017
9 / 87
SEMMA
SAS Institute dla swojego programu SAS Enterprise Miner opracował
metodologię nazywaną SEMMA (wariant Sześć Sigma) :
1
Próbkowanie (ang. Sample),
2
Eksploracja (ang. Explore),
3
Modyfikacja (ang. Modify ),
4
Modelowanie (ang. Model),
5
Ocena (ang. Assess).
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
10 / 87
SEMMA
Sample - przygotowanie i podział danych wejściowych;
Explore - eksploracja danych; służy ocenie ich jakości oraz wstępnej
identyfikacji istniejących zależności;
Modify - modyfikacja danych; służy poprawie jakości danych i dba o
to, by dane jak najlepiej pasowały do modeli;
Model - modelowanie; np. drzewa decyzyjne, regresje czy sieci
neuronowe;
Assess - ocena jakości modeli, wybór najlepszego z nich i
monitorowanie jego skuteczności.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
11 / 87
Sampling
Sampling polega na doborze próby z większego zbioru tak, aby próba ta
była reprezentatywna. Używa się tego przy naprawdę wielkich zbiorach
danych, na których ciężko operować nawet komputerowi. Wyróżniamy
metody:
N pierwszych;
Losowanie zwykłe – każda obserwacja losowana jest z jednakowym
prawdopodobieństwem;
Losowanie warstwowe – Losowanie według kryteriów:
Proporcjonalne – udział obserwacji w każdej z warstw jest identyczny;
Równe – węzeł losuje tę samą liczbę obserwacji z każdej z warstw;
Optymalne – Udział obserwacji na warstwach jak i ich wariancja jest
taka sama jak w populacji.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
12 / 87
Opis danych
Przejdziemy teraz do naszego przykładu.
O danych:
Z pewnego przedsiębiorstwa wodociągowego otrzymaliśmy tabelę
zawierającą dane związane z zapewnianiem usług wodociągowych w
czasie od 31 grudnia 2014 do 1 stycznia 2016.
Składa się ona z 17 zmiennych i 34 714 obserwacji.
Zmienne to: moduł, identyfikator, lokalizacja, data odczytu, data
rejestracji, energia, przepływ, temperatura zasilania (temperatura in),
temperatura powrotu (temperatura out), różnica temperatur,
objętość, godziny pracy, moc, kod info, numer klienta, objętość
wodomierza 1, objętość wodomierza 2.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
13 / 87
Opis danych
Nasze dane surowe prezentują się następująco:
Rysunek: tabela danych w programie SAS Enterprise Guide 6.1
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
14 / 87
Opis danych
Część zmiennych zawierających dane chronione została sztucznie
zmodyfikowana, są to: moduł, identyfikator, lokalizacja, kod info,
numer klienta. Z tych danych nie będziemy więc korzystać.
Porzucimy również daty odczytu, daty rejestracji, godziny pracy,
objętość wodomierza 1 i objętość wodomierza 2, gdyż nie przydadzą
się w realizacji naszego zagadnienia.
W naszym projekcie będziemy chcieli przewidywać i
klasyfikować wartości temperatury powrotu za pomocą
pozostałych zmiennych.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
15 / 87
Źródło danych
Surowe dane zaimportowaliśmy do programu SAS Enterprise
Guide 6.1 i w ten sposób stworzyliśmy tabelę SASową, będącą
później naszym źródłem danych w programie SAS Enterprise
Miner Workstation 12.3.
Będziemy korzystać z następujących zmiennych:energia, moc,
objętość, przepływ, różnica temperatur, temperatura in, temperatura
out.
Zmienną temperatura out oznaczamy jako zmienną celu.
Zmienne: energia, moc, objętość, przepływ, różnica temperatur,
temperatura in określamy jako wejście, gdyż to na ich podstawie
będziemy chcieli klasyfikować i dokonywać predykcji zmiennej celu.
Pozostałe zmienne decydujemy się porzucić.
Z pozostawionych zmiennych energia, moc, objętość, przepływ,
różnica temperatur, temperatura in, temperatura out są typu
przedziałowego.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
16 / 87
SAS Miner
Rysunek: nowy projekt
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
17 / 87
SAS Miner
Rysunek: nowa biblioteka
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
18 / 87
SAS Miner
Rysunek: nowa biblioteka
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
19 / 87
SAS Miner
Rysunek: nowe źródło danych
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
20 / 87
SAS Miner
Rysunek: charakterystyka źródła danych
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
21 / 87
Diagram
W kolejnym kroku tworzymy diagram.
Rysunek: nowy diagram
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
22 / 87
Diagram
Najpierw przyjrzymy się danym za pomocą statystyk DMDB.
Rysunek: DMDB
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
23 / 87
Zaburzenia
Jak widać na zrzucie ekranu poniżej, zmienne moc, przepływ i różnica
temperatur wyraźnie zawierają jakieś błędy pomiarowe. Niektóre dane
są ekstremalnie wyolbrzymione.
Możemy poradzić sobie z nimi na dwa sposoby - albo użyć
zastępowania, żeby nie utracić tych rekordów, tylko sztucznie nadać
zaburzonym danym wartości bliższe realnym lub filtrowania, czyli
wyrzucenia z tabeli rekordów zawierających zaburzenia.
Rysunek: statystyki z zaburzeniami
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
24 / 87
Zastępowanie danych
Jeśli chcemy dokonać zastępowania, musimy zdecydować się na metodę:
średnie odchylenie bezwzględne,
granice podane przez użytkownika,
granice metadanych,
skrajne centyle,
wartość modalna,
odchylenia standardowe od średniej.
Rysunek: metody zastępowania
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
25 / 87
Zastępowanie danych
Nie chcemy sami podawać granic, bo mogłoby to być uciążliwe, nie
po to mamy taki zaawansowany program.
Część metod zastępuje za dużo danych, nawet całe procenty, a to
stanowczo zaburzyłoby analizę.
Część nawet dokonuje poprawy zmiennej temperatura in, w której nie
stwierdziliśmy nieprawidłowości.
Decydujemy się więc skorzystać z kryterium wartości modalnej, gdyż
wykrywa ona te zaburzenia, co my przy obserwacji surowych danych.
Ponowne uruchomienie statystyk DMDB utwierdza nas w
przekonaniu, że wybraliśmy dobrą metodę, gdyż pozbyliśmy się
problemu nierealnych maksimów i ogromnego odchylenia
standardowego bez straty wielu prawdziwych danych.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
26 / 87
Filtrowanie danych
Zamiast zastępować zaburzone dane, można je po prostu usunąć.
Przy filtrowaniu podobnie jak wcześniej w zastępowaniu używamy
kryterium wartości modalnej, gdyż daje ono najlepsze rezultaty,
zgodne z naszą intuicją przy obserwacji zbioru.
Okazuje się, że problem sprawia jedynie 16 rekordów, nie będzie więc
żadnym uszczerbkiem dla naszej próby (34 714 obs.), jeśli się ich po
prostu pozbędziemy, zamiast je czymś zastępować.
Jednakże dla celów badawczych wprowadziliśmy w życie równolegle
obie metody, żeby sprawdzić, jaka będzie między nimi różnica.
Jak można się było domyślić, przy 16 rekordach jest to różnica
niemalże niezauważalna. Dalszą analizę przeprowadzimy więc po
filtrowaniu. W obu opcjach zaznaczyliśmy również pozbywanie się
braków danych.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
27 / 87
Filtrowanie danych
Rysunek: statystyki bez danych zaburzonych
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
28 / 87
Badanie korelacji, partycjonowanie i imputacja
Dokonujemy również równolegle eksploracji statystyk, żeby przyjrzeć
się korelacji zmiennych ze zmienną celu.
Widzimy, że największą korelację stwierdzono przy zmiennej różnica
temperatur, sporo mają również temperatura in i przepływ.
Domyślamy się więc, że będą one miały kluczowe znaczenie w
naszych modelach.
Gdy nasze źródło danych zostało już odpowiednio przygotowane,
możemy dokonać partycjonowania na zbiory: uczący (treningowy)
(40%), walidacyjny (30%) i testowy (30%).
Dokonujemy również imputacji, żeby mieć pewność, że nie będziemy
mieć żadnych braków danych.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
29 / 87
Partycjonowanie
Zbiór treningowy odpowiada za zbudowanie modelu; obejmuje
40-70% próby wejściowej
Zbiór walidacyjny wykorzystuje się do porównywania modeli między
sobą; obejmuje 20-30% próby;
Zbioru testowego używa się do końcowej oceny modelu wybranego na
podstawie danych walidacyjnych; są to dane, na których model nie
był tworzony ani jeszcze testowany; obejmuje 20-30% próby;
Im większy zbiór treningowy, tym lepszy klasyfikator;
Im większy zbiór testowy, tym lepiej można aproksymować błąd
klasyfikacji.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
30 / 87
Drzewa decyzyjne
Budując model drzewa decyzyjnego dokonujemy podziału według
poniższego wzoru:
r
X
ni
∆Z = Z0 −
Zi ,
n
i=1 0
(1)
gdzie:
Z0 - stopień niejednorodności dzielonego elementu;
r - ilość elementów powstających w wyniku podziału;
ni - liczność i-tego elementu powstałego w wyniku podziału;
n0 - liczność dzielonego elementu;
Zi - stopień niejednorodności i-tego elementu powstałego w wyniku
podziału.
Interesuje nas podział, którego różnica ∆Z jest największa.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
31 / 87
Miary niejednorodności
Do oceny stopnia niejednorodności (lub zanieczyszczenia) najczęściej
używa się poniższych miar:
współczynnika entropii;
współczynnika Giniego;
log-wartość chi-kwadrat.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
32 / 87
Współczynnik entropii
Definicja (Współczynnik entropii)
Z = H(s1 , s2 , . . . , sk ) = −
k
X
pi log2 (pi ),
(2)
i=1
gdzie:
pi = ssi - odsetek obserwacji przyjmujących i-tą wartość zmiennej
objaśnianej;
k - ilość kategorii przyjmowanych przez zmienną objaśnianą.
Przyjmujemy 0 · log2 (0) = 0.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
33 / 87
Entropia
Entropią podziału zbioru S ze względu na atrybut A = {a1 , a2 , . . . , ak }
nazywamy:
Definicja (Entropia)
E (a1 , a2 , . . . , ak ) =
k
X
s1j + s2j + . . . + smj
s
j=1
H(s1j , s2j , . . . , smj ),
(3)
gdzie:
s
ij
pij = |sj|
- odsetek obserwacji przyjmujących i-tą wartość zmiennej
objaśnianej;
k - ilość kategorii przyjmowanych przez zmienną objaśnianą;
H(s1 , s2 , . . . , sk ) = −
Pk
i=1 pi
log2 (pi ).
Im mniejsza wartość entropii, tym lepszy jest podział.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
34 / 87
Zysk informacyjny
Definicja (Zysk informacyjny)
Gain(A) = H(S) − E (A),
(4)
gdzie:
H(S) - współczynnik entropii;
E (A) - entropia.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
35 / 87
Współczynnik entropii - przykład
Załóżmy, że jesteśmy sklepem komputerowym i chcemy wiedzieć, jakie
osoby najczęściej kupują nasze produkty, do kogo kierować reklamy i
promocje.
Mamy prostą przykładową bazę danych klientów i na jej podstawie
będziemy chcieli dokonać późniejszej klasyfikacji.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
36 / 87
Współczynnik entropii - przykład
ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Wiek
przed 30
przed 30
30-40
po 40
po 40
po 40
30-40
przed 30
przed 30
po 40
przed 30
30-40
30-40
po 40
Dochód
wysoki
wysoki
wysoki
średni
niski
niski
niski
średni
niski
średni
średni
średni
wysoki
średni
Student
nie
nie
nie
nie
tak
tak
tak
nie
tak
tak
tak
nie
tak
nie
Status
kawaler
żonaty
kawaler
kawaler
kawaler
żonaty
żonaty
kawaler
kawaler
kawaler
żonaty
żonaty
kawaler
żonaty
Kupi komputer
nie
nie
tak
tak
tak
nie
tak
nie
tak
tak
tak
tak
tak
nie
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
37 / 87
Współczynnik entropii - przykład
Naszą zmienną celu jest Kupi komputer, możemy więc dokonać podziału
według zmiennych Wiek, Dochód, Student lub Status.
Kupi komputer ma dwie klasy – tak i nie,
a możliwe klasy podziału to:
dla Wieku – {przed 30}, {30-40} i {po 40},
dla Dochodu – {wysoki}, {średni} i {niski},
dla Student – {tak} i {nie},
natomiast dla zmiennej Status - {kawaler} i {żonaty}.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
38 / 87
Współczynnik entropii - przykład
Mamy więc dwie klasy dla atrybutu Kupi komputer:
C1 , gdy Kupi komputer = ’tak’ o liczności s1 = 9;
C2 , gdy Kupi komputer = ’nie’ o liczności s2 = 5.
Stąd
H(s1 , s2 ) = H(9, 5) = −
9
9
5
5
log2
−
log2
= 0,94.
14
14 14
14
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
39 / 87
Współczynnik entropii - przykład
Następnie obliczamy entropię atrybutów testowych.
Pierwszy będzie wiek złożony z trzech partycji:
Wiek = ’przed 30’ ⇒ H(s11 , s21 ) = H(2, 3) = 0,971;
Wiek = ’30-40’ ⇒ H(s12 , s22 ) = H(4, 0) = 0;
Wiek = ’po 40’ ⇒ H(s13 , s23 ) = H(2, 3) = 0,971;
Entropia atrybutu ’Wiek’:
5
E (0 Wiek 0 ) = 14
H(s11 , s21 ) +
4
14 H(s12 , s22 )
+
5
14 H(s13 , s23 )
= 0,694;
Zysk informacyjny z podziału zbioru S według atrybutu ’Wiek’:
Gain(0 Wiek 0 ) = I (s1 , s2 ) − E (0 Wiek 0 ) = 0,94 − 0,694 = 0,277.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
40 / 87
Współczynnik entropii - przykład
Analogicznie otrzymujemy wartości zysku informacyjnego dla pozostałych
atrybutów:
Gain(0 Wiek 0 ) = 0,277;
Gain(0 Dochod 0 ) = 0,029;
Gain(0 Student 0 ) = 0,151;
Gain(0 Status 0 ) = 0,048.
Interesuje nas atrybut mający największą wartość zysku informacyjnego, a
więc ’Wiek’.
Podzielimy więc najpierw drzewo na partycje według zmiennej ’Wiek’.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
41 / 87
Współczynnik entropii - przykład
Rysunek: podział drzewa na ’Wiek’
Jak widać wierzchołek S2 jest liściem, gdyż wszyscy należący doń klienci
kupią komputery.
Należy natomiast dokonać dalszego podziału wierzchołków S1 i S3 .
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
42 / 87
Współczynnik entropii - przykład
Wykonanie podobnej analizy pokazuje, że S1 należy podzielić ze względu
na atrybut ’Student’, a S3 ze względu na ’Status’.
Całość prezentuje się następująco:
Rysunek: drzewo decyzyjne: Kupi komputer
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
43 / 87
Współczynnik entropii - przykład
Co daje nam takie drzewo i jak z niego korzystać?
Załóżmy, że pojawia się klient studiujący, mający 23 lata, będący
kawalerem o niskich dochodach. Czy możemy przewidywać, że kupi on od
nas komputer?
TAK, gdyż trafia do odpowiedniego wierzchołka:
Rysunek: czy klient kupi komputer?
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
44 / 87
Współczynnik Giniego
Definicja (Współczynnik Giniego)
Z =1−
k
X
pi2 ,
(5)
i=1
gdzie:
pi - odsetek obserwacji przyjmujących i-tą wartość zmiennej
objaśnianej;
k - ilość kategorii przyjmowanych przez zmienną objaśnianą.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
45 / 87
Współczynnik Giniego - przykład
Załóżmy, że jesteśmy towarzystwem ubezpieczeniowym i chcemy wiedzieć,
jaką składkę zaproponować danej osobie za ubezpieczenie samochodu. W
tym celu musimy stwierdzić, czy należy ona do grupy podwyższonego
ryzyka spowodowania wypadku, czy też nie.
Mamy bardzo prostą przykładową bazę danych kierowców i na jej
podstawie będziemy chcieli dokonać późniejszej klasyfikacji naszego
klienta.
ID
1
2
3
4
5
6
Wiek
20
18
50
70
30
25
Samochód
Rodzinny
Sportowy
Sportowy
Rodzinny
Terenowy
Rodzinny
Ryzyko
Wysokie
Wysokie
Wysokie
Niskie
Niskie
Wysokie
Naszą zmienną celu jest Ryzyko, możemy więc dokonać podziału według
zmiennych Wiek i Samochód.
Ryzyko
ma dwie
klasy
- Wysokie
Niskie,
a Technicznej
możliwe
punkty11
podziału
Stefania
Wietrzykowska,
Piotr Lebiedź
(Politechnika
GdańskaiData
Wydział
mining
Fizyki
i Matematyki
Stosowanej)
czerwca 2017 dla
46 / 87
Współczynnik Giniego - przykład
Punkt podziału gsplit zadany jest wzorem:
gsplit =
m2 + n2
m 1 + n1
Z1 +
Z2 ,
m+n
m+n
(6)
gdzie:
mi - liczba elementów w Si należących do klasy Wysokie;
ni - liczba elementów w Si należących do klasy Niskie.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
47 / 87
Współczynnik Giniego - przykład
Weźmy najpierw podział atrybutu Wiek ¬ 18 i > 18.
Podział
Wiek ¬ 18
Wiek > 18
Wysokie
1
3
Niskie
0
2
Wartości współczynników Giniego oraz punkt podziału to:
Z1 = Z (S1 ) = Z (Wiek ¬ 18) = 1 − (12 + 02 ) = 0;
Z2 = Z (S2 ) = Z (Wiek > 18) = 1 −
gsplit =
3 2
5
+
2 2
5
(7)
!
= 0,73;
m1 + n1
m 2 + n2
1
5
Z1 +
Z2 = · 0 + · 0,73 = 0,61.
m+n
m+n
6
6
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
(8)
(9)
48 / 87
Współczynnik Giniego - przykład
Postępując dalej podobnie otrzymujemy:
Wiek ¬ 18 - gsplit = 0,61;
Wiek ¬ 20 - gsplit = 0,33;
Wiek ¬ 25 - gsplit = 0,22;
Wiek ¬ 30 - gsplit = 0,29;
Wiek ¬ 50 - gsplit = 0,27;
Wiek ¬ 70 - gsplit = 0,44.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
49 / 87
Współczynnik Giniego - przykład
Teraz weźmy podział atrybutu Samochód.
Podział
Samochód = Rodzinny
Samochód = Sportowy
Samochód = Terenowy
Wysokie
2
2
0
Niskie
1
0
1
Wartości współczynników Giniego oraz punkt podziału to:
Z (Samochód = Rodzinny) = 1 −
2 2
3
+
Z (Samochód ∈ {Sportowy, Terenowy}) = 1 −
1 2
!
3
2 2
3
= 0,44;
+
1 2
3
(10)
!
= 0,44;
(11)
gsplit
3
3
= · 0,44 + · 0,44 = 0,44.
6
6
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
(12)
50 / 87
Współczynnik Giniego - przykład
Z (Samochód = Sportowy) = 0;
(13)
Z (Samochód ∈ {Rodzinny, Terenowy}) = 0,5;
(14)
gsplit = 0,33.
(15)
Z (Samochód = Terenowy) = 0;
(16)
Z (Samochód ∈ {Rodzinny, Sportowy}) = 0,32;
(17)
gsplit = 0,27.
(18)
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
51 / 87
Współczynnik Giniego - przykład
Postępując dalej podobnie otrzymujemy:
Wiek ¬ 18 - gsplit = 0,61;
Wiek ¬ 20 - gsplit = 0,33;
Wiek ¬ 25 - gsplit = 0,22;
Wiek ¬ 30 - gsplit = 0,29;
Wiek ¬ 50 - gsplit = 0,27;
Wiek ¬ 70 - gsplit = 0,44;
Samochód = Rodzinny - gsplit = 0,44;
Samochód = Sportowy - gsplit = 0,33;
Samochód = Terenowy - gsplit = 0,27.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
52 / 87
Współczynnik Giniego - przykład
Znając już wszystkie możliwe wartości gsplit możemy dokonać najlepszego
podziału.
Wybieramy ten podział, który osiąga najmniejszą wartość gsplit
Jest to 0,22 dla podziału Wieku na ¬ 25 i > 25. Mamy jednakże mały
zbiór danych i duże luki między parametrami wieku, w takich sytuacjach
uśrednia się punkt podziału, czyli będzie to 25+30
= 27,5.
2
Ostatecznie więc pierwszy podział naszego drzewa wygląda następująco:
Rysunek: Pierwszy podział
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
53 / 87
Współczynnik Giniego - przykład
Jak łatwo zauważyć, w przypadku gdy Wiek ¬ 27,5, dotarliśmy do liścia,
gdyż dla naszych danych, gdy Wiek ¬ 27,5, to Ryzyko jest zawsze
Wysokie. Musimy jednak dokonać kolejnego podziału prawej gałęzi.
Spójrzmy znów na możliwe punkty podziału. Albo będzie to Wiek ¬ 30,
Wiek ¬ 50, Wiek ¬ 70 lub typy samochodów. Rozpatrujemy już tylko
tabelę:
ID
1
2
3
Wiek
50
70
30
Samochód
Sportowy
Rodzinny
Terenowy
Ryzyko
Wysokie
Niskie
Niskie
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
54 / 87
Współczynnik Giniego - przykład
Ostatecznie drzewo wygląda w poniższy sposób:
Rysunek: Drzewo z przykładu
Jak widać oddzielenie typu samochodu Sportowego od pozostałych
pozwala osiągnąć liście.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
55 / 87
Log-wartość chi-kwadrat
Log-wartość chi-kwadrat to wielkość
− log(p),
(19)
gdzie p-wartość jest granicznym poziomem istotności statystyki:
k X
r
X
(R(ij) − E(ij) )2
i=1 j=1
E(ij)
,
(20)
gdzie:
R(ij) to macierz rzeczywista mająca na miejscu (ij) wartość równą
ilości obserwacji przyjmujących i-tą wartość zmiennej objaśnianej w
j-tym węźle;
E(ij) to macierz mająca w miejscu (ij) wartość równą średniej z
rozkładu liczbie obserwacji przyjmujących i-tą wartość zmiennej
objaśnianej w j-tym węźle.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
56 / 87
Log-wartość chi-kwadrat
Gdy dzielimy węzeł wielokrotnie lepiej jest używać wzoru:
− log(m · p),
(21)
gdzie m jest ilością podziałów.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
57 / 87
Klasyfikacja
Teraz, gdy mamy już przygotowane dane, możemy przejść do
klasyfikacji zmiennej celu. Użyjemy do tego drzew decyzyjnych.
Nasza zmienna celu jest typu przedziałowego, więc mamy do wyboru
dwie metody ProbF (test F) i wariancję. Sprawdzenie, która z metod
odnosi lepszy wynik w naszym przypadku pokazało, że lepiej ustawić
wariancję.
Zmiana poziomu istotności nie wpływa na ocenę modelu, zostawiamy
więc domyślnie 0,2.
Zmiana maksymalnej liczby rozgałęzień z 2 na 3 stanowczo poprawiła
model, wzrost do 4 również, ale ustawienie już 5 rozgałęzień
pogorszyło model, decydujemy się więc na ustawienie liczby
rozgałęzień na 4.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
58 / 87
Klasyfikacja
Następnie przyjrzymy się parametrowi głębi. Domyślnie ma on
wartość 6, zmniejszenie głębi oczywiście pogarsza model, natomiast
zwiększenie głębi do 7 przyniosło poprawę modelu, zwiększenie do 8
również, ale już nieznaczną. Także parametr głębi ustawiamy na 8.
Takie duże drzewo sprawia już programowi problemy, pozwala nam
jednak podzielić źródło danych na aż kilkadziesiąt kategorii na
różnych poziomach głębi, także możemy dosyć dokładnie ocenić, jaką
wartość będzie miała nasza zmienna celu, jeżeli dane wejściowe będą
należeć do odpowiedniej kategorii – co jest istotą metody klasyfikacji
zmiennej celu.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
59 / 87
Interakcyjne drzewo decyzyjne
Teraz omówimy proces tworzenia takiego drzewa za pomocą
interakcyjnego drzewa decyzyjnego.
Powinniśmy zawsze dokonywać podziału węzła względem zmiennej,
która ma największy współczynnik −log (p), więc na początku jest to
różnica temperatur, a punkt podziału wyznaczony zostaje jako
37,6650.
Potem dzielimy każdy węzeł względem temperatury in, pierwszy w
punkcie 75,9500, a drugi w 77,8500.
Powtarzając te kroki, dojdziemy w końcu do momentu, gdy na tym
samym poziomie głębi będziemy dzielić węzły względem różnych
zmiennych.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
60 / 87
Interakcyjne drzewo decyzyjne
Rysunek: wybór zmiennej podziału węzła
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
61 / 87
Interakcyjne drzewo decyzyjne
Rysunek: proste drzewo decyzyjne
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
62 / 87
Predykcja zmiennej celu
Następnym krokiem będzie dokonanie predykcji zmiennej celu.
Tworzymy kilka różnych podstawowych modeli:
regresję;
sieć neuronową;
drzewo decyzyjne.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
63 / 87
Regresja
Regresję możemy wybrać albo logistyczną, albo liniową.
Przed dokonaniem regresji należy uzupełnić lub usunąć braki danych.
Metoda regresji polega na takim wyznaczeniu współczynników funkcji
regresji dla wybranego stopnia wielomianu, żeby krzywa regresji
dopasowywała się do krzywej zmiennych w zbiorze uczącym i potem
testowym.
Regresja logistyczna zakłada, że wartość prawdopodobieństwa jest
uzależniona predyktorem liniowym
logit(p̂) = X β = β0 + β1 X1 + β2 X2 + . . . + βN XN .
(22)
Po wyestymowaniu parametrów modelu możemy wyliczyć
wyestymowane prawdopodobieństwo dla wektora
X = (X1 , X2 , . . . , Xn ):
p̂ =
1
1 + exp(−X β)
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
(23)
64 / 87
Regresja
Przy wybieraniu zmiennych objaśniających należy się dobrze zastanowić,
czy nie usunąć zmiennych zbytnio ze sobą skorelowanych lub dodać ich
iloczyny. W wyborze zmiennych pomagają metody:
Krokowa wprzód / postępująca (ang. Forward) – Na początku
dobieramy jedynie wyraz wolny, a potem pojedynczo dodajemy do
modelu kolejne zmienne;
Krokowa wstecz (ang. Backward) – Najpierw bierzemy do modelu
wszystkie zmienne i kolejno usuwamy najmniej istotne;
Krokowa – podobnie jak Forward, z tym że po każdym kroku badamy
istotność zmiennych obecnych w modelu.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
65 / 87
Regresja - przykład
Wybieramy regresję logistyczną;
Podwyższenie stopnia wielomianu na 3 nic nie zmienia, więc
zostajemy przy 2.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
66 / 87
Sieć neuronowa
Sieć neuronowa to zbiór połączonych ze sobą jednostek
wejściowo-wyjściowych. Z każdym z połączeń skojarzona jest waga,
która może się zmieniać podczas procesu uczenia.
Metoda ta polega głównie na wyznaczeniu wag dla kolejnych
zmiennych oraz ich stopniowej i dokładnej modyfikacji, tak żeby
model dopasował się do zbioru uczącego i sprawdził się w zbiorze
testowym, z którym nie miał wcześniej do czynienia.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
67 / 87
Sieć neuronowa
Prosta sieć neuronowa jest złożona z warstwy wejściowej zawierającej
n neuronów, które odpowiadają zmiennym wejścia oraz wyjściowej
sumującej ważone impulsy i transformującej je do skali zmiennej celu.
Modelami bardziej złożonymi są sieci neuronowe zawierające warstwę
ukrytą. Są to tzw. perceptrony wielowarstwowe (MLP - ang. Multi
Layer Perceptron).
Warstwa ukryta składa się z pewnej liczby neuronów (ukrytych), które
nieliniowo przekształcają kombinację liniową otrzymanych sygnałów.
Neuron warstwy ukrytej składa się z funkcji łączenia (link function) i
funkcji aktywacji.
Funkcja łączenia odpowiada za wytworzenie pojedynczej wartości
wejściowej dla danego neuronu z wartości jego poprzedników.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
68 / 87
Funkcje łączenia
Mamy następujące rodzaje funkcji łączenia:
Addytywna – Sumuje wszystkie wartości wejściowe;
Liniowa – Stanowi kombinację liniową wartości wejściowych i wag;
EQSlopes – Stanowi kombinację liniową wartości wejściowych i wag,
przy czym w danej warstwie używa się tej samej wagi, dodając inną
wartość współczynnika przesunięcia dla każdej wartości wejściowej;
EQRadial – Radialna funkcja bazowa z równymi wysokościami i
szerokościami w obrębie warstwy;
EHRadial – Radialna funkcja bazowa z równymi wysokościami i
nierównymi szerokościami w obrębie warstwy.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
69 / 87
Funkcje aktywacji
Funkcja aktywacji oblicza wartość neuronu na wyjściu.
Wyróżniamy funkcje:
Tożsamościową – g ;
Liniową – g · waga + b;
Wykładniczą – e g ;
Odwrotną –
1
g;
Kwadratową – g 2 ;
Logistyczną –
1
1+e −g ;
2
Gaussa – e −g ;
Sinus – sin g .
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
70 / 87
Sieć neuronowa
Rysunek: MLP
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
71 / 87
Sieć neuronowa
Wynik generowany przez sieć jest rezultatem działania funkcji
transformującej sumę ważonych wyjść z neuronów warstwy ukrytej.
Jeśli zmienna jest binarna, to stosuje się odwrotność przekształcenia
logitowego, a jeżeli jest ciągła – przekształcenie identycznościowe.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
72 / 87
Sieć neuronowa
Tak wygląda schemat sieci z jedną warstwą ukrytą zawierającą n neuronów:
Rysunek: sieć z warstwą ukrytą
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
73 / 87
Sieć neuronowa
Dodatkowo można wprowadzić połączenie między warstwą wejściową i
wyjściową. Umożliwi to dodatkową analizę prostej kombinacji liniowej
predyktorów, ale rozbuduje zagadnienie estymacji.
Są metody wyznaczenia odpowiedniej liczby neuronów w warstwach
ukrytych. Np. reguła piramidy geometrycznej mówi, że liczba
neuronów powinna maleć od wejścia do wyjścia.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
74 / 87
Sieć neuronowa - przykład
Ważnym parametrem w modelach sieci neuronowych jest ilość jednostek
ukrytych. Może ich być od 1 do 64, a domyślnie ustawione są jedynie 3.
Zmiana na 4 pogarsza model, natomiast na 20 poprawia. Jednak jeszcze
lepszy wynik daje zmniejszenie ich ilości i ustawienie 2 jednostek ukrytych.
Wartości skrajne, to jest 1 i 64 dają gorsze wyniki od 2. Zostaniemy więc
przy 2.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
75 / 87
Uczenie się sieci
Etapy uczenia się sieci:
1
Standaryzacja zmiennych objaśniających, w celu poprawnego
przydzielania wag.
2
Losowanie parametrów początkowych.
3
Wczytanie obserwacji ze zbioru treningowego i na ich podstawie
korekta wag w celu usprawnienia modelu.
4
Powtarzanie poprzedniego kroku aż do osiągnięcia zbieżności
algorytmu optymalizacyjnego, przekroczenia ilości iteracji lub innego
warunku stopu.
5
Ocena stopnia dopasowania modelu na próbie walidacyjnej wag
otrzymanych w kolejnych iteracjach. Wybór najlepszego modelu.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
76 / 87
Porównanie modeli
Do porównywania i oceny modeli używa się między innymi następujących
metod:
błąd średniokwadratowy:
n
1X
(y ∗ − yi )2 ,
ASE =
n i=1 i
(24)
gdzie yi∗ - wartość prognozowana przez model, a yi – wartość z próby;
skuteczność klasyfikacji – iloraz błędu klasyfikacji;
statystyka Kołmogorowa-Smirnowa:
KS = max{|Fn (t) − F0 (t)|},
t
(25)
gdzie Fn – dystrybuanta empiryczna n-elementowej próby,
a F0 – dystrybuanta teoretyczna;
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
77 / 87
Porównanie modeli – ROC
Indeks ROC – miara określająca skuteczność modelu w rozróżnianiu
podpopulacji o różnych wartościach zmiennej objaśnianej. Należy obliczyć
pole pod krzywą ROC, im bliżej 1 i im bardziej wykres skierowany jest w
kierunku lewego górnego rogu, tym lepszy jest model; konstrukcja krzywej
ROC:
sortujemy populację malejąco według przydzielonych
prawdopodobieństw i wybieramy górne k % obserwacji;
zakładamy, że w wybranej podpopulacji jest x jedynek i y zer.
Oznaczamy n1 i n0 jako liczności tych klas w całej próbie. Obliczamy
specyficzność = ny0 i wrażliwość = nx1 ;
powyższe kroki powtarzamy dla różnych k i łączymy w krzywą.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
78 / 87
Porównanie modeli – lift
Wzrost (lift) – miara obliczana jako iloraz odsetka zaobserwowanych
zdarzeń w górnych n % posortowanej malejąco populacji według
przewidywanych prawdopodobieństw i odsetka tych samych zdarzeń w
całej populacji Wykres liftu łącznego powinien gładko spadać do 1; skoki
wskazują błędy modelu.
dzielimy zbiór na równe części (np. co 5 centyli);
zliczamy w każdej części ilość sukcesów;
liczymy skumulowaną ilość sukcesów;
obliczamy skumulowaną ilość sukcesów w każdej części w procentach
(Gain score);
ostatecznie dzielimy Gain score przez procentowy górny kwantyl
danego przedziału, np. gdy górny kwantyl wynosi 15%, to Gain score
dzielimy przez 15.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
79 / 87
Porównanie modeli - przykład
Jak widać na rysunku, najlepiej dopasowanym modelem, to jest
takim, który osiąga najmniejszy błąd średniokwadratowy jest model
regresji typu liniowego ze stopniem wielomianu 2, potem regresja
logistyczna ze stopniem wielomianu 2, następnie sieć neuronowa z 2
jednostkami ukrytymi, potem inne sieci neuronowe, na szarym końcu
zaś drzewa decyzyjne.
Jedno drzewo zostało celowo stworzone z niskim poziomem głębi i
wyraźnie odstaje od wykresu danych oraz ma ogromny błąd
średniokwadratowy.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
80 / 87
Porównanie modeli
Rysunek: porównanie modeli
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
81 / 87
Porównanie modeli
Rysunek: przykładowe wykresy dopasowania modeli
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
82 / 87
Porównanie modeli
Rysunek: wykres dopasowania modeli
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
83 / 87
Wnioski
Jesteśmy w stanie dokonać dokładnej prognozy i klasyfikacji
temperatury out na podstawie różnicy temperatur, temperatury in,
przepływu i pozostałych zmiennych przy użyciu oprogramowania firmy
SAS i zastosowanej w niej metodyki SEMMA.
Nie powinno się zdawać wyłącznie na program i jego domyślne
wartości, gdyż modele, w których dokonaliśmy zmian, okazały się
dokładniejsze. Program więc nie zastąpi człowieka, jednakże bardzo
usprawnia proces klasyfikowania i prognozowania zmiennej celu.
Przed stworzeniem modeli należy zawsze dokładnie przeanalizować
źródło danych, sprawdzić, skąd pochodzą dane, czym są zmienne,
jakiego są typu i jakie mogą osiągać realnie wartości.
Przed stworzeniem modeli należy sprawdzić, czy wśród danych nie ma
błędów pomiarowych i braków danych. Niechciane rekordy zastąpić
lub usunąć ze źródła, jeśli ich ilość jest statystycznie nieistotna.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
84 / 87
Wnioski
Przed stworzeniem modeli należy uprzednio przygotowane źródło
danych podzielić na zbiory uczący, walidacyjny i testowy, żeby modele
mogły się na nich uczyć, poprawiać i sprawdzać.
Dla naszych danych najlepszym typem modelu w prognozowaniu
okazała się regresja, nie jest to jednak ogólnie żadną regułą.
Trzeba uważać przy ustawianiu wartości w procesie uczenia modelu,
żeby nie doszło do jego przeuczenia, wcale nie jest tak, że modele
bardziej skomplikowane, z większą głębią etc. dają lepsze wyniki.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
85 / 87
Cały diagram
Cały nasz diagram prezentuje się następująco:
Rysunek: diagram
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
86 / 87
Bibliografia
G. Jałocha, A. Pomykała, B. Szymecki, K. Zera; DATA MINING,
02.06.2015;
K. Glepiak, M. Borsuk, J. Gierasimczyk, A. Gałecki; Statystyka w
SAS Data Mining ;
Techniki zgłębiania danych (data mining); StatSoft;
www.statsoft.pl; dostęp: 25.05.2017.
Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data
Wydział
mining
Fizyki Technicznej i Matematyki 11
Stosowanej)
czerwca 2017
87 / 87
Download