Prezentacja

advertisement
Seminarium Dyplomowe
Magisterskie
inż. Sławomir Skowyra
Implementacja wybranych algorytmów
eksploracji danych w Oracle 10g.
Opiekun pracy:
dr inż. Michał Rudowski
Warszawa, dnia 18.04.2008
Plan
Przedstawienie zagadnienia
 Przegląd technik eksploracji danych
 Wsparcie ze strony Oracle 10g
 Problem grupowania
 Przykładowy algorytm grupowania
 Zastosowanie grupowania w praktyce
 Podsumowanie

Eksploracja danych
(ang. Data Mining): Proces automatycznego odkrywania
nietrywialnych, dotychczas nieznanych, potencjalnie
pożytecznych reguł, zależności, wzorców schematów,
podobieństw lub trendów w dużych repozytoriach danych
(bazy danych, hurtownie danych, itd..)
Cel
Analiza danych i procesów w celu
lepszego ich rozumienia.
Przegląd technik










klasyfikacja
regresja
grupowanie
odkrywanie sekwencji
odkrywanie charakterystyk
analiza przebiegów czasowych
odkrywanie asocjacji
wykrywanie zmian i odchyleń
eksploracja WWW
eksploracja tekstów
Przykłady zastosowań








W świecie nauki: odkrywanie nowych obiektów (astronomia), bioinformatyka,
przemysł farmaceutyczny, …
W świecie biznesu: reklama, CRM, inwestycje, finanse, ubezpieczenia,
telekomunikacja, …
Web: Przeglądarki (Google), handel elektroniczny – Amazon, eBay, Allegro
Administracja: wykrywanie przestępstw, wykrywanie nadużyć podatkowych, etc.
Handel i marketing: identyfikacja „profilu klienta” dla przewidywania, którzy klienci
odpowiedzą na marketing korespondencyjny, wykrywanie schematów zakupów i
planowanie lokalizacji artykułów.
Finanse i bankowość: identyfikacja schematów wykorzystywania np. kradzionych
kart kredytowych przewidywanie dochodowości portfela akcji, znajdowanie
korelacji wśród wskaźników finansowych.
Telekomunikacja: wykrywanie schematów alarmowych w sieciach
telekomunikacyjnych.
Medycy do oceny terapii itd.
Wsparcie ze strony Oracle 10g.
Oracle Data Mining (ODM) — jako opcja
w Oracle Database 10g Enterprise
Edition
 Oracle Data Miner
 Interfejsy programistyczne

 Java API
 PL/SQL
Wsparcie ze strony Oracle 10g
Cd…

Klasyfikacja
 Drzewa decyzyjne, SVM (Support Vector Machine), Naiwny
Klasyfikator Bayesa

Grupowanie
 K-Menas, O-Cluster

Regresja
 SVM, GLM (Generalized Linear Models)

Wykrywanie istotnych atrybutów
 MDL (Minimum Description Length)

Wykrywanie zmian i odchyleń
 One Class SVM

Reguły asocjacyjne
 Apriori

Wykrywanie cech
 Non-Negative Matrix nFactorization (NMF)
Grupowanie

Klaster – kolekcja obiektów
 Podobieństwo obiektów wewnątrz tego samego
klastra
 Niepodobieństwo do obiektów należących do innego
klastra

Analiza klastrów
 Grupowanie zbioru obiektów w klastry


Klasteryzacja to uczenie bez nadzoru – brak
jakichkolwiek wstępnie zdefiniowanych klas
Typowe zastosowania
 Jako standardowe narzędzie do analizy
rozmieszczenia obiektów
 Jako przetwarzanie wstępne w różnych algorytmach
Przykłady zastosowań





Marketing – rozpoznawanie różnych grup klientów, ich
preferencji, i wykorzystywanie tej wiedzy w celu
stworzenia
nowych programów marketingowych
Ubezpieczenia – tworzenie nowych form ubezpieczeń
oraz ocenianie średniego kosztu roszczeń
Użyteczność lądu – identyfikacja powierzchni o podobnej
użyteczności
Planowanie miast – rozpoznawanie grup domów ze
względu na typ domu, wartości i umiejscowienia
Analiza trzęsień ziemi – zaobserwowane trzęsienia
powinny leżeć wzdłuż uskoków kontynentów
Miary

Miary numeryczne – zazwyczaj funkcja
odległości
 Często używa się tzw. odległości Minkowskiego
gdzie q to dodatnia liczba naturalna
q
q
d (i, j )  q xi1  x j1  xi 2  x j 2  ...  xip  x jp
q
 Jeśli q = 1 to otrzymujemy odległość Manhattan
d (i, j )  xi1  x j1  xi 2  x j 2  ...  xip  x jp
 Jeśli q = 2 to uzyskujemy odległość
Euklidesową
d (i, j ) 
2
Miary binarne
 Miary symboliczne

2
xi1  x j1  xi 2  x j 2  ...  xip  x jp
2
Metody grupowania

Metody hierarchiczne
 Produkują klastry hierarchicznie
 Szybkie

Metody partycjonujące
 Produkują klastry o kształtach sferycznych
 Dobre dla niedużej ilości obiektów oraz gdy znana jest
liczba klastrów

Metody wyszukiwania gęstości
 Produkują klastry o dowolnych kształtach
 Dobre dla danych przestrzennych

Metody gridowe
 Produkują klastry oparte na siatkach
 Szybkie dla dużych, wielowymiarowych danych

Metody modelujące
Metody wyszukiwania gęstości

Na wejściu dwa parametry:
 ε - maksymalny promień sąsiedztwa
 MinPts – minimalna ilość punktów w ε-sąsiedztwie
danego punktu



Sąsiedztwo : N  y  X ; d ( x, y)  
Rdzenny obiekt – punkt w którego sąsiedztwie
znajduje się co najmniej MinPts punktów
Punkt y jest bezpośrednio osiągalny z
rdzennego obiektu x jeśli y należy do N ε(x)
MWG – CD …
Punkt y jest osiągalny z rdzennego
obiektu x jeśli istnieje ścieżka p1=x, p2,
..., pn=y taka, że pi+1 należy do N ε(pi)
 Punkty x i y są gęstościowo połączone
jeśli istnieje rdzenny punkt, taki że
zarówno x jak i y są z niego osiągalne

DBScan - Algorytm


Wybierz dowolny punkt p
Wyszukaj wszystkie punkty osiągalne z p dla
ustalonych MinPts, ε
 Jeśli p jest rdzennym punktem to tworzymy klaster
 Jeśli p jest punktem granicznym, to żaden punkt nie
jest osiągalny z p
 Jeśli p jest punktem oddalonym to zaznaczamy go
jako takiego

Powtarzaj proces do momentu, aż wszystkie
punkty zostaną przetworzone
Wyznaczanie ε
Przykład praktyczny grupowania
300
250
200
150
Series1
100
50
0
0
50
100
150
200
250
300
350
400
DBScan – własna implementacja
300
250
200
Series1
Series2
150
Series3
Series4
Series5
100
50
0
0
50
100
150
200
250
300
350
400
K-Means – przy użyciu ODM
300
250
200
Series1
Series2
150
Series3
Series4
Series5
100
50
0
0
50
100
150
200
250
300
350
400
Grupowanie w SQL Server 2005
300
250
Series1
200
Series2
Series3
Series4
Series5
150
Series6
Series7
Series8
100
Series9
Series10
50
0
0
50
100
150
200
250
300
350
400
Podsumowanie
Dobre wsparcie ze strony Oracle
 Łatwe i wygodne narzędzie Oracle Data
Miner
 Dokumentacja (Tutoriale)
 Wysoka wydajność

Pytania?
Dziękuję za uwagę.
Download