Seminarium Dyplomowe Magisterskie in Sawomir Skowyra Implementacja wybranych
Seminarium Dyplomowe Magisterskie inż. Sławomir Skowyra Implementacja wybranych algorytmów eksploracji danych w Oracle 10 g. Opiekun pracy: dr inż. Michał Rudowski Warszawa, dnia 18. 04. 2008
Plan � Przedstawienie zagadnienia � Przegląd technik eksploracji danych � Wsparcie ze strony Oracle 10 g � 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, e. Bay, 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 10 g. � Oracle Data Mining (ODM) — jako opcja w Oracle Database 10 g Enterprise Edition � Oracle Data Miner � Interfejsy programistyczne �Java API �PL/SQL
Wsparcie ze strony Oracle 10 g 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 n. Factorization (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 numeryczne – zazwyczaj funkcja odległości Często używa się tzw. odległości Minkowskiego gdzie q to dodatnia liczba naturalna Jeśli q = 1 to otrzymujemy odległość Manhattan Jeśli q = 2 to uzyskujemy odległość Euklidesową Miary binarne Miary symboliczne
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 � Min. Pts – minimalna ilość punktów w ε-sąsiedztwie danego punktu Sąsiedztwo : � Rdzenny obiekt – punkt w którego sąsiedztwie znajduje się co najmniej Min. Pts 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 p 1=x, p 2, . . . , 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 Min. Pts, ε � � 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 Series 1 100 50 0 0 50 100 150 200 250 300 350 400
DBScan – własna implementacja 300 250 200 Series 1 Series 2 150 Series 3 Series 4 Series 5 100 50 0 0 50 100 150 200 250 300 350 400
K-Means – przy użyciu ODM 300 250 200 Series 1 Series 2 150 Series 3 Series 4 Series 5 100 50 0 0 50 100 150 200 250 300 350 400
Grupowanie w SQL Server 2005 300 250 Series 1 Series 2 200 Series 3 Series 4 Series 5 150 Series 6 Series 7 Series 8 100 Series 9 Series 10 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ę.
- Slides: 21