Implementacja metod eksploracji danych - Oracle Data Mining

advertisement
395
Implementacja metod eksploracji
danych - Oracle Data Mining
396
Plan rozdziału
•
•
•
•
•
•
•
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
397
Czym jest eksploracja danych?
•
•
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
398
Techniki eksploracji danych
•
•
•
•
•
•
•
•
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
400
Metody eksploracji: klasyfikacja
• 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
401
Metody eksploracji: analiza skupień
•
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
klasa 3: wiek>25 i 3<pensja<6
25
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:
–
–
•
Zastosowania odkrytych asocjacji:
–
–
–
•
klienci, którzy kupują piwo, kupują również orzeszki
klienci, którzy kupują chleb i ser, kupują również wodę mineralną i ketchup
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
403
Czym jest Oracle Data Mining?
•
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)
404
Techniki eksploracji w ODM
•
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
–
–
–
•
Regresja
–
•
–
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
–
•
Minimal Descriptor Length (MDL)
Analiza skupień (klastrowanie, grupowanie)
–
•
Support Vector Machine (SVM)
Ważność atrybutów
–
•
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
Apriori
Ekstrakcja właściwości
–
Non-Negative Matrix Factorization (NMF)
406
Użytkownicy bazy danych dla ODM
•
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)
407
Interfejs Oracle Data Mining
•
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
408
Interfejs graficzny do ODM – 9i
•
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
409
Interfejs graficzny do ODM – 10g
•
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
410
Dane źródłowe dla ODM (1/2)
•
•
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
411
Dane źródłowe dla ODM (2/2)
•
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
412
Przygotowanie danych do eksploracji
•
Przygotowanie danych stanowi ważny etap eksploracji
–
•
Operacje wykonywane jawnie przez eksperta
–
–
–
–
•
wpływa na czas pracy algorytmów i jakość uzyskanych modeli
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
413
Kroki procesu eksploracji danych
` 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ń
414
Odkrywanie asocjacji – Przykład (1/6)
•
Dane źródłowe:
–
•
historia zakupów w formacie transakcyjnym
Cel eksploracji:
–
Odkrycie produktów kupowanych wspólnie
415
Odkrywanie asocjacji – Przykład (2/6)
•
Wybór połączenia z bazą danych (jako ODM user!)
•
Uruchomienie kreatora do budowy modelu
416
Odkrywanie asocjacji – Przykład (3/6)
•
Wybór tabeli z danymi źródłowymi
Tabela w formacie transakcyjnym
•
Parametry algorytmu
417
Odkrywanie asocjacji – Przykład (4/6)
•
Ustawienia dotyczące danych źródłowych
Dane już przygotowane (binned)
Wybór atrybutów
418
Odkrywanie asocjacji – Przykład (5/6)
•
Monitorowanie statusu zadania eksploracji
– QUEUED -> EXECUTING -> SUCCESS
419
Odkrywanie asocjacji – Przykład (6/6)
•
Przeglądanie wyniku eksploracji
– Model w postaci zbioru reguł
420
Klasyfikacja – Przykład (1/10)
•
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
421
Klasyfikacja – Przykład (2/10)
•
Uruchomienie kreatora do budowy modelu
•
Wybór tabeli z danymi źródłowymi
Tabela w formacie
nietransakcyjnym
422
Klasyfikacja – Przykład (3/10)
•
Wybór algorytmu: Naive Bayes
•
Informacja o przygotowaniu danych
Dane nieprzygotowane;
żądanie automatycznego
przygotowania (binning)
423
Klasyfikacja – Przykład (4/10)
•
Wskazanie atrybutu określającego
klasę (target attribute)
•
Wybór atrybutów, które mają
być uwzględnione w modelu
424
Klasyfikacja – Przykład (5/10)
•
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
425
Klasyfikacja – Przykład (6/10)
•
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
426
Klasyfikacja – Przykład (7/10)
•
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!
427
Klasyfikacja – Przykład (8/10)
•
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
428
Klasyfikacja – Przykład (9/10)
•
Wskazanie atrybutów
identyfikujących przypadki
Tylko jedna klasa,
najbardziej prawdopodobna
dla danego przypadku
•
Wybranie klas, dla których
ma być wskazane
prawdopodobieństwo
przynależności przypadku
429
Klasyfikacja – Przykład (10/10)
•
Wybór nazwy tabeli, w której zostaną zapisane informacje
o przypisaniu przypadków do klas
•
Wyniki zastosowania klasyfikatora
430
Podsumowanie
•
•
•
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
Download