Implementacja metod eksploracji danych - Oracle Data Mining 395
Plan rozdziału 396 Wprowadzenie do eksploracji danych Architektura Oracle Data Mining Możliwości Oracle Data Mining Etapy procesu eksploracji danych Przykład wykorzystania ODM reguły asocjacyjne Przykład wykorzystania ODM klasyfikacja Podsumowanie
Czym jest eksploracja danych? 397 Eksploracja danych (ang. data mining): zbiór technik automatycznego odkrywania nietrywialnych zależności i schematów (patterns) w dużych zbiorach danych (bazach i hurtowniach danych) Eksploracja danych a OLAP OLAP ma postać weryfikacji hipotez, eksploracja danych umożliwia odkrycie niespodziewanych zależności Eksploracja danych często jest kolejnym etapem analizy danych DANE DATA MINING SCHEMATY, MODELE
Techniki eksploracji danych 398 Odkrywanie asocjacji (zbiorów częstych i reguł) Odkrywanie wzorców sekwencyjnych Klasyfikacja Odkrywanie charakterystyk Analiza skupień (klastrowanie, grupowanie) Dyskryminacja Regresja Wykrywanie zmian i odchyleń
399 Dziedziny zastosowań eksploracji danych Handel i marketing identyfikacja profilu klienta na potrzeby marketingu kierunkowego wykrywanie schematów zakupów i planowanie lokalizacji artykułów Finanse i bankowość schematy wykorzystywania kradzionych kart kredytowych przewidywanie dochodowości portfela akcji, znajdowanie korelacji wśród wskaźników finansowych Nauka i technologia analiza strumieni wyników pomiarów biologia molekularna (analiza DNA, białek) Internet (Web Mining) handel i marketing internetowy analiza zachowań użytkowników WWW personalizacja serwisów WWW
Metody eksploracji: klasyfikacja 400 Klasyfikacja: znajdowanie sposobu odwzorowywania danych w zbiór predefiniowanych klas Przykład klasyfikacji: automatyczny podział kierowców na powodujących i niepowodujących wypadków drogowych: kierowcy prowadzący czerwone pojazdy o pojemności 650 ccm powodują wypadki drogowe kierowcy, którzy posiadają prawo jazdy ponad 3 lata lub jeżdżą niebieskimi samochodami nie powodują wypadków drogowych Modele klasyfikacji: modele probabilistyczne zbiory reguł drzewa decyzyjne
Metody eksploracji: analiza skupień 401 Analiza skupień (klastrowanie): znajdowanie skończonego zbioru klas (podzbiorów) w bazie danych wiek 50 klasa 1: wiek<25 i pensja<3 klasa 2: 25<wiek<50 i pensja<3 25 klasa 3: wiek>25 i 3<pensja<6 3 6 pensja [tys.] Zastosowania analizy skupień: określanie segmentów rynku na podstawie cech klientów odkrywanie grup podobnie zachowujących się użytkowników WWW na potrzeby personalizacji
402 Metody eksploracji: odkrywanie asocjacji Odkrywanie asocjacji: znajdowanie związków pomiędzy występowaniem podzbiorów elementów w zbiorach danych Przykłady asocjacji: klienci, którzy kupują piwo, kupują również orzeszki klienci, którzy kupują chleb i ser, kupują również wodę mineralną i ketchup Zastosowania odkrytych asocjacji: analiza koszyka zakupów (ang. market basket analysis) planowanie kampanii promocyjnych planowanie rozmieszczenia stoisk sprzedaży w supermarketach Reguły asocjacyjne: (chipsy, orzeszki) -> (piwo), support=5%, confidence=50% wsparcie reguły (support): liczba krotek, potwierdzających regułę ufność reguły (confidence): poprawność reguły w zbiorze krotek
Czym jest Oracle Data Mining? 403 Oracle Data Mining (ODM) to funkcje eksploracji danych zagnieżdżone w serwerze bazy danych Oracle (DMS Data Mining Server) Transformacja danych, budowa modeli i zastosowanie modeli ma miejsce w bazie danych dane nigdy nie opuszczają bazy! ODM ułatwia integrację eksploracji danych z aplikacjami bazodanowymi ODM jest dostępny jako opcja dla Oracle 9i/10g EE Minimalna zalecana wersja 9i to 9.2.0.4 (ewentualnie 9.2.0.2 + ODM Patch 9.2.0.3)
Techniki eksploracji w ODM 404 Modele predykcyjne (supervised learning) Klasyfikacja Regresja (10g) Ważność atrybutów Modele deskryptywne (unsupervised learning) Analiza skupień (klastrowanie, grupowanie) Reguły asocjacyjne Ekstrakcja właściwości (10g) Eksploracja danych tekstowych (10g) Klasyfikacja, grupowanie w oparciu o charakterystyki wyekstrahowane z dokumentów tekstowych BLAST (10g) Analiza danych biologicznych (sekwencje DNA i protein)
405 Algorytmy eksploracji danych w ODM 10g Klasyfikacja Naive Bayes (NB) szybki, do 200 atrybutów, nie zwraca reguł Adaptive Bayes Network (ABN) pokazuje reguły Support Vector Machine (SVM) gdy któryś z atrybutów tekstowy Regresja Support Vector Machine (SVM) Ważność atrybutów Minimal Descriptor Length (MDL) Analiza skupień (klastrowanie, grupowanie) Enhanced k-means dla zadanej liczby klastrów, dla atrybutów numerycznych Orthogonal Clustering (O-Cluster) automatycznie określa liczbę klastrów, obsługuje atrybuty numeryczne i nominalne Odkrywanie reguł asocjacyjnych Apriori Ekstrakcja właściwości Non-Negative Matrix Factorization (NMF)
Użytkownicy bazy danych dla ODM 406 Oracle 9i ODM: zawiera metadane i modele, eksploracja prowadzona jest jako użytkownik ODM ODM_MTR: zawiera dane użytkownika i wyniki zastosowania modeli do danych (również zawiera przykładowe tabele z danymi) Oracle 10g DMSYS: zawiera repozytorium ODM (metadane dla eksploracji) Użytkownicy (data mining users) Będący odpowiednikami ODM w 9i Prowadzący eksplorację danych Dane źródłowe i wyniki eksploracji składowane w ich schematach Do ich tworzenia dostarczone są skrypty SQL $ORACLE_HOME/dm/admin/odmtbs.sql (tworzenie przestrzeni tabel) $ORACLE_HOME/dm/admin/odmuser.sql (tworzenie użytkownika) $ORACLE_HOME/dm/admin/dmuserld.sql (ładowanie przykładowych tabel)
Interfejs Oracle Data Mining 407 Dostęp do ODM realizowany jest poprzez interfejs programistyczny (API): Java API dla aplikacji implementowanych w języku Java PL/SQL API od wersji 10g, dla aplikacji w języku PL/SQL Charakterystyka ODM Java API i PL/SQL API W chwili obecnej (10g R1) interfejsy nie są ze sobą zgodne! (np. niektóre algorytmy dostępne tylko poprzez Java API) W 10g R2 Java API ma być dostosowany do standardu Java Data Mining Interfejs graficzny do Oracle Data Mining Klient ODM zaimplementowany w języku Java Ukrywa złożoność API i ułatwia dostęp do funkcji eksploracji danych Umożliwia budowę, testowanie i stosowanie modeli Towarzyszy mu generator kodu Java dla JDevelopera
Interfejs graficzny do ODM 9i 408 Data Mining for Java (DM4J) rozszerzenie (extension) dla JDeveloper 9i DM4J obejmuje: ODM Components zbiór kreatorów do realizacji typowych zadań eksploracji danych ODM Browser umożliwia przeglądanie wyników eksploracji (modeli) i monitorowanie wykonywania zadań eksploracji Tools/Data Mining Browser Automatycznie generowany jest kod Java
Interfejs graficzny do ODM 10g 409 Oracle Data Miner graficzny klient ODM napisany w języku Java stand-alone nie wymaga JDevelopera nie generuje kodu ODM Java Code Generator rozszerzenie (extension) dla JDeveloper 10g
Dane źródłowe dla ODM (1/2) 410 ODM wymaga, aby dane źródłowe były w postaci jednej tabeli lub perspektywy ODM akceptuje następujące typy danych: VARCHAR2, CHAR, NUMBER, CLOB, BLOB, BFILE, XMLTYPE, URITYPE Daty muszą zostać przedstawione jako łańcuchy znaków lub liczby! Wartości puste są traktowane jako: brakujące wartości w algorytmach klasyfikacji, ważności atrybutów i grupowania jako wyznaczniki rzadkiego zbioru danych w innych metodach
Dane źródłowe dla ODM (2/2) 411 Tabela (perspektywa) źródłowa może być w formacie: Nietransakcyjnym jeden rekord opisuje przypadek (case) Tradycyjne tabele relacyjne Transakcyjnym wiele rekordów opisuje przypadek (case) Odpowiednie dla danych opisanych przez wiele atrybutów Odpowiednie dla danych z dużą liczbą wartości pustych
Przygotowanie danych do eksploracji 412 Przygotowanie danych stanowi ważny etap eksploracji wpływa na czas pracy algorytmów i jakość uzyskanych modeli Operacje wykonywane jawnie przez eksperta zastąpienie wartości pustych usunięcie wartości odbiegających od normy (ang. outliers) wybór ważnych atrybutów dla klasyfikacji (funkcją ODM) generacja atrybutów wywiedzionych (funkcją ODM) Operacje wykonywane przez eksperta lub automatycznie przed ODM Binning (dyskretyzacja) redukcja liczby różnych wartości dla atrybutu (Top-N frequent items lub Equi-width) Skraca czas budowy modelu kosztem jego dokładności Przydatna dla NB, ABN, analizy skupień, asocjacji, ważności atrybutów Normalizacja sprowadzenie wartości wszystkich atrybutów do tego samego przedziału Typowo <0;1> lub <-1;1> Przydatna dla SVM, NMF
Kroki procesu eksploracji danych 413 ` 1) Zdefiniowanie problemu Identyfikacja celu do osiągnięcia 2) Identyfikacja danych źródłowych Sformułowanie problemu w kontekście dostępnych danych 3) Przygotowanie danych 4) Budowa i testowanie modelu Testowanie tylko dla klasyfikacji i regresji; wymaga podziału danych na zbiór do budowy modelu i zbiór testowy 5) Wdrożenie modelu Wbudowanie wygenerowanego kodu w aplikację użytkową 6) Zastosowanie modelu Aplikacja modelu do nowych danych Dotyczy klasyfikacji, regresji, analizy skupień
Odkrywanie asocjacji Przykład (1/6) 414 Dane źródłowe: historia zakupów w formacie transakcyjnym Cel eksploracji: Odkrycie produktów kupowanych wspólnie
Odkrywanie asocjacji Przykład (2/6) 415 Wybór połączenia z bazą danych (jako ODM user!) Uruchomienie kreatora do budowy modelu
Odkrywanie asocjacji Przykład (3/6) 416 Wybór tabeli z danymi źródłowymi Tabela w formacie transakcyjnym Parametry algorytmu
Odkrywanie asocjacji Przykład (4/6) 417 Ustawienia dotyczące danych źródłowych Dane już przygotowane (binned) Wybór atrybutów
Odkrywanie asocjacji Przykład (5/6) 418 Monitorowanie statusu zadania eksploracji QUEUED -> EXECUTING -> SUCCESS
Odkrywanie asocjacji Przykład (6/6) 419 Przeglądanie wyniku eksploracji Model w postaci zbioru reguł
Klasyfikacja Przykład (1/10) 420 Dane źródłowe: Charakterystyki demograficzne osób wraz z informacją o przynależności do grupy o wysokich (CLASS=1) lub niskich dochodach (CLASS=0) Cel eksploracji: Model pozwalający przewidzieć przynależność osób do grupy o wysokich lub niskich dochodach na podstawie ich charakterystyk
Klasyfikacja Przykład (2/10) 421 Uruchomienie kreatora do budowy modelu Wybór tabeli z danymi źródłowymi Tabela w formacie nietransakcyjnym
Klasyfikacja Przykład (3/10) 422 Wybór algorytmu: Naive Bayes Informacja o przygotowaniu danych Dane nieprzygotowane; żądanie automatycznego przygotowania (binning)
Klasyfikacja Przykład (4/10) 423 Wskazanie atrybutu określającego klasę (target attribute) Wybór atrybutów, które mają być uwzględnione w modelu
Klasyfikacja Przykład (5/10) 424 Wyniki eksploracji - model Algorytm Naive Bayes buduje model probabilistyczny Model jest aplikowany do nowych danych na zasadzie czarnej skrzynki ; nie można podejrzeć reguł jego działania
Klasyfikacja Przykład (6/10) 425 Uruchomienie kreatora do testowania modelu Cel: ocena jakości modelu Dane testowe mają taką samą strukturę jak te do budowy modelu Wskazanie modelu do przetestowania Test standardowy: dane testowe rozłączne z danymi na których zbudowano model Wskazanie tabeli z danymi testowymi
Klasyfikacja Przykład (7/10) 426 Wyniki testowania modelu: współczynnik dokładności modelu macierz pomyłek (confusion matrix) Budowę/testowanie modelu należy powtarzać, zmieniając algorytm i/lub parametry, aż do uzyskania satysfakcjonującego modelu!
Klasyfikacja Przykład (8/10) 427 Uruchomienie kreatora do aplikacji modelu do nowych danych Dane źródłowe nie zawierają informacji o przypisaniu przypadków do klas Wynikiem aplikacji modelu będzie przypisanie przypadków do klas Wybór modelu Wybór tabeli z danymi do zaklasyfikowania
Klasyfikacja Przykład (9/10) 428 Wskazanie atrybutów identyfikujących przypadki Wybranie klas, dla których ma być wskazane prawdopodobieństwo przynależności przypadku Tylko jedna klasa, najbardziej prawdopodobna dla danego przypadku
Klasyfikacja Przykład (10/10) 429 Wybór nazwy tabeli, w której zostaną zapisane informacje o przypisaniu przypadków do klas Wyniki zastosowania klasyfikatora
Podsumowanie 430 Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych Eksploracja danych to zautomatyzowane odkrywanie wzorców, zależności i modeli w dużych zbiorach danych Ocena ODM na tle innych narzędzi eksploracji danych Ścisła integracja z bazą danych, algorytmy działają blisko danych, brak konieczności eksportu danych z bazy Brak wsparcia dla wszystkich technik eksploracji danych brak odkrywania wzorców sekwencyjnych i analizy przebiegów czasowych Stosunkowo niewiele algorytmów do wyboru np. brak budowy drzew decyzyjnych jako modelu klasyfikacji