implementacja metod eksploracji danych - oracle data mining · • oracle data mining to opcja...

36
395 Implementacja metod eksploracji danych - Oracle Data Mining

Upload: others

Post on 23-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

395

Implementacja metod eksploracji danych - Oracle Data Mining

Page 2: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 3: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

397

Czym jest eksploracja danych?

• Eksploracja danych (ang. data mining): zbiór technikautomatycznego 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

DANEDATA

MINING

SCHEMATY,

MODELE

Page 4: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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ń

Page 5: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 6: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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ącychwypadkó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

Page 7: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

401

Metody eksploracji: analiza skupień

• Analiza skupień (klastrowanie): znajdowanie skończonego zbioru klas (podzbiorów) w bazie danych

• 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

3 6

25

50 klasa 1: wiek<25 i pensja<3klasa 1: wiek<25 i pensja<3

klasa 2: 25<wiek<50 i pensja<3klasa 2: 25<wiek<50 i pensja<3

klasa 3: wiek>25 i 3<pensja<6klasa 3: wiek>25 i 3<pensja<6

pensja [tys.]

wiek

Page 8: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 9: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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)

Page 10: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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)

Page 11: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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)

Page 12: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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)

Page 13: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 14: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 15: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 16: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 17: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 18: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

412

Przygotowanie danych do eksploracji

• 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

Page 19: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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ń

Page 20: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 21: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

415

Odkrywanie asocjacji – Przykład (2/6)

• Wybór połączenia z bazą danych (jako ODM user!)

• Uruchomienie kreatora do budowy modelu

Page 22: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

416

Odkrywanie asocjacji – Przykład (3/6)

• Wybór tabeli z danymi źródłowymi

Tabela w formacie transakcyjnym

• Parametry algorytmu

Page 23: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

417

Odkrywanie asocjacji – Przykład (4/6)

• Ustawienia dotyczące danych źródłowych

Dane już przygotowane (binned)

Wybór atrybutów

Page 24: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

418

Odkrywanie asocjacji – Przykład (5/6)

• Monitorowanie statusu zadania eksploracji– QUEUED -> EXECUTING -> SUCCESS

Page 25: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

419

Odkrywanie asocjacji – Przykład (6/6)

• Przeglądanie wyniku eksploracji– Model w postaci zbioru reguł

Page 26: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 27: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

421

Klasyfikacja – Przykład (2/10)

• Uruchomienie kreatora do budowy modelu

• Wybór tabeli z danymi źródłowymi

Tabela w formacie nietransakcyjnym

Page 28: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

422

Klasyfikacja – Przykład (3/10)

• Wybór algorytmu: Naive Bayes

• Informacja o przygoto-waniu danych

Dane nieprzygotowane;żądanie automatycznegoprzygotowania (binning)

Page 29: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

423

Klasyfikacja – Przykład (4/10)

• Wskazanie atrybutu określającegoklasę (target attribute)

• Wybór atrybutów, które mają być uwzględnione w modelu

Page 30: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 31: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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 tabeliz danymi testowymi

Wskazanie modeludo przetestowania

Test standardowy: dane testowe rozłącznez danymi na których zbudowano model

Page 32: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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!

Page 33: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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 tabeli z danymi do zaklasyfikowania

Wybór modelu

Page 34: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

428

Klasyfikacja – Przykład (9/10)

Tylko jedna klasa, najbardziej prawdopodobna dla danego przypadku

• Wskazanie atrybutów identyfikujących przypadki

• Wybranie klas, dla których ma być wskazane prawdopodobieństwo przynależności przypadku

Page 35: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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

Page 36: Implementacja metod eksploracji danych - Oracle Data Mining · • Oracle Data Mining to opcja serwera Oracle umożliwiająca eksplorację danych • Eksploracja danych to zautomatyzowane

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