210 likes | 356 Views
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
E N D
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 (SupportVectorMachine), Naiwny Klasyfikator Bayesa • Grupowanie • K-Menas, O-Cluster • Regresja • SVM, GLM (GeneralizedLinearModels) • Wykrywanie istotnych atrybutów • MDL (Minimum DescriptionLength) • Wykrywanie zmian i odchyleń • One Class SVM • Reguły asocjacyjne • Apriori • Wykrywanie cech • Non-NegativeMatrixnFactorization (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 • 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 • MinPts – minimalna ilość punktów w ε-sąsiedztwie danego punktu • Sąsiedztwo : • 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
Podsumowanie • Dobre wsparcie ze strony Oracle • Łatwe i wygodne narzędzie Oracle Data Miner • Dokumentacja (Tutoriale) • Wysoka wydajność
Pytania? Dziękuję za uwagę.