ORACLE 9i DATA MINING NARZĘDZIEM DO EKSTRAKCJI
WIEDZY Z BAZ DANYCH
Małgorzata Nycz, Barbara Smok
Akademia Ekonomiczna we Wrocławiu
{malgorzata.nycz,barbara.smok}@ae.wroc.pl
Streszczenie
Artykuł prezentuje wykorzystanie narzędzie Oracle 9i Data Mining do odkry-
wania wiedzy z baz danych. Układ artykułu jest następujący. Po krótkim wpro-
wadzeniu scharakteryzowano problematykę odkrywania wiedzy, następnie
przedstawiono Oracle Data Mining. W dalszej części zaprezentowano przykład
zastosowania tego narzędzia do odkrywania wiedzy z bankowej bazy danych.
Artykuł kończy podsumowanie przeprowadzonych rozważań.
Słowa kluczowe: odkrywanie wiedzy, data mining, eksploracja
Wprowadzenie
Dzisiaj przedsiębiorstwa stają wobec problemu posiadania, przetwarzania i
zbierania coraz większych ilości danych. Rozwiązania tego problemu oferują
metody Data Mining (eksploracja danych), które identyfikują wzorce i zależno-
ści w rozległych obszarach danych. Wiele firm oferuje profesjonalne narzędzia
analityczne wspomagające podejmowanie decyzji oraz analizy danych (oparte
na systemie OLAP). Narzędzia te na podstawie danych zgromadzonych przez
przedsiębiorstwo pozwalają zoptymalizować procesy zarządzania, dostarczając
niezbędną informację we właściwym czasie. W odpowiedni sposób przetworzo-
ne informacje pomagają przedsiębiorstwom rozwijać się i utrzymać się na ciągle
zmieniającym się w szybkim tempie rynku. Dostarczają również wiedzy pozwa-
lającej osiągnąć przewagę nad konkurencją.
Odkrywanie wiedzy
Eksploracja danych (odkrywanie wiedzy z baz danych) jest procesem efek-
tywnego znajdowania nowych, nieznanych, użytecznych wzorców, zależności,
czy związków między danymi np. w hurtowni danych. Odkrywanie wiedzy czę-
sto w literaturze występuje jako synonim data mining i dotyczy zazwyczaj całe-
go procesu pozyskiwania użytecznej wiedzy [MORZ99], a proces eksploracji
odnosi się do jednego z jego etapów – do generowania reguł. Metody eksploracji
można podzielić ogólnie na następujące klasy [MoWo99]: odkrywanie asocjacji,
Zarządzanie wiedzą i rozwiązania Business Intelligence
klastrowanie, odkrywanie wzorców sekwencji, odkrywanie klasyfikacji, odkry-
wanie podobieństw w przebiegach czasowych, wykrywanie zmian i odchyleń.
Aby dane mogły być wykorzystane do eksploracji muszą być poddane
czyszczeniu, którego celem jest zapewnienie jakości i poprawności danych,
szczególnie w przypadku, gdy pochodzą z heterogenicznych źródeł, gdyż wów-
czas mogą zawierać błędy i anomalie jak np.: niespójne długości pól, różne
formaty, wartości puste, czy naruszone ograniczenia integralności. Następnym
etapem jest ładowanie danych, który wymaga dodatkowego przetwarzania jak
np. sprawdzenia integralności, sortowania, podsumowania. Do metod eksploracji
możemy zaliczyć m.in.: analizę skupień – świetnie nadaje się do wstępnych
analiz, w przypadku gdy niewiele wiemy o naszej bazie danych i trudno nam
sprecyzować pytanie; w takich sytuacjach zawsze możemy poszukiwać skupień,
które mogą być dla nas interesujące i znaczące, sieci neuronowe – są algoryt-
mami przetwarzania danych bazującymi na konstruowaniu i rozpoznawaniu
wzorców, nie ekstrahują wiedzy, nadają się do klasyfikowania danych i są nie-
mal idealnym narzędziem do prognozowania sekwencji czasowych, drzewa de-
cyzyjne – dostarczają zrozumiałej wiedzy o danych, ich algorytmy prowadzą do
rozdrobnienia danych, wyłonienia klas i przypadkowych reguł; aby tego uniknąć
przycina się drzewa wykorzystując odpowiednie techniki, w przypadku analizy
skupień metodę k-uśrednień oraz inne parametry jak ilość skupień, czy współ-
czynnik metryki.
Oracle Data Mining
Oprogramowanie Oracle pozwala przeszukiwać ogromne bazy danych w celu
znajdowania różnych wzorców i tendencji, które mogą wspomóc strategię bizne-
sową oraz prezentować różne zależności między wieloma zmiennymi. Oracle
Data Mining słada się z dwóch głównych komponentów: Oracle 9i Data Mining
API (ODM API) – jest interfejsem programistycznym, umożliwiającym dostęp
programom w języku Java do Data Mining Server; bazuje na nowo tworzonym
standardzie Java Data Mining, Data Mining Server (DMS) – jest elementem
składowym wykonującym obliczenia w bazie Oracle 9i; udostępnia repozyto-
rium, w którym są zapisywane m.in. modele oraz wyniki obliczeń.
Budowa modelu eksploracji w Oracle 9i Data Mining możliwa jest na dwóch
poziomach: funkcji i algorytmu. Na poziomie funkcji pozwala pominąć specyfi-
kację wszystkich szczegółów algorytmu i skupić się na eksploracji, gdzie dobie-
rany jest odpowiedni algorytm i wyznaczane są wartości wszystkich parame-
trów. W przypadku, gdy standardowe procedury odkrywania wzorców są nie-
wystarczające można budować model na poziomie algorytmu dostosowując
proces eksploracji do własnych potrzeb. Tak zbudowane modele są przechowy-
wane w repozytorium serwera eksploracji i mogą być wielokrotnie wykorzysty-
wane. Na budowę modelu składa się następujące etapy: tworzenie danych wej-
Oracle 9i Data Mining narzędziem do ekstrakcji wiedzy z baz danych
325
ściowych poprzez kojarzenie obiektu reprezentującego dane z rzeczywistym
źródłem danych np. relacją w bazie danych, tworzenie obiektu reprezentującego
ustawienia wybranej funkcji eksploracji, wiązanie obiektu funkcji eksploracji z
obiektami reprezentującymi logiczną strukturę danych i fizyczne wykorzystanie
danych, tworzenie modelu wybraną metodą: klasyfikacja lub odkrywanie aso-
cjacji.
Model klasyfikacyjny można przetestować w celu oszacowania dokładności
klasyfikacji. Model klasyfikatora jest stosowany do zbioru danych testowych,
których nie użyto do budowania modelu, dla których jest znana wartość klasyfi-
kowanego atrybutu. Testowanie dostarcza macierz pomyłek, która daje nam
obraz w ilu przypadkach model poprawnie sklasyfikował dane testowe, a w ilu
pomylił się oraz jakiego typu były to pomyłki. Analiza macierzy pozwala na
dokładniejsze dostrojenie modelu aż do uzyskania zadawalającej jakości klasy-
fikacji. Model klasyfikatora zastosowany do nowych danych powoduje oblicze-
nie przewidywanej wartości lub klasy wraz z prawdopodobieństwem.
Stosując model asocjacji możemy wykorzystać stworzony model do danych
źródłowych, a w wyniku otrzymamy zbiór reguł asocjacyjnych odkrytych w
danych źródłowych, które są składowane w repozytorium serwera eksploracyj-
nego.
Algorytmy Oracle Data Mining można zaklasyfikować do dwóch grup ze
względu na sposób nauki: z nauczycielem (supervised) – do przewidywania
wartości na podstawie wcześniej przetworzonej próbki lub bez nauczyciela
(unsupervised) – do wyszukiwania struktur, relacji, czy podobieństw zawartych
w danych. Na podstawie [ORAC02] możemy podzielić algorytmy na: klasyfika-
cja – z nauczycielem; pozwala zaklasyfikować obiekty do kilku klas; posiadając
sklasyfikowane obiekty uczymy model, który automatycznie będzie klasyfiko-
wał nowe obiekty; każdy obiekt posiada atrybuty oraz jeden dodatkowy, który
określa jego przynależność do klasy, analiza skupień - bez nauczyciela – umoż-
liwia wyszukiwanie nieznanych grup w danych; grupy (skupienia) zawierają
obiekty podobne do siebie, reguły kojarzące - bez nauczyciela – pozwalają wy-
szukiwać związki miedzy danymi, przykładem może być analiza koszykowa,
stopień ważności atrybutów - z nauczycielem – automatycznie wyszukują atry-
buty, które najmocniej wpływają na wynik.
Metody klasyfikacyjne pozwalają zaklasyfikować obiekty do kilku lub więcej
klas. Odbywa się to dwuetapowo: (1) posiadając sklasyfikowane obiekty uczy-
my model klasyfikacji, a w (2) nauczony model automatycznie klasyfikuje nowe
obiekty. Każdy z obiektów posiada pewną liczbę atrybutów opisujących go oraz
jeden przewidywalny, którego wartość określi jego przynależność do odpo-
wiedniej klasy. Do tej grupy należą trzy algorytmy: Adaptive Bayes Network,
Naive Bayes i Model Seeker.
Zarządzanie wiedzą i rozwiązania Business Intelligence
Przykłady zastosowań klasyfikacji to m.in. rozpoznawanie trendów na ryn-
kach finansowych, automatyczne rozpoznawanie obiektów w dużych bazach
obrazów, wspomaganie decyzji przyznawania kredytów bankowych.
Zastosowanie Oracle Data Mining do odkrywania wiedzy
Do procesu drążenia danych wykorzystano rzeczywisty zbiór danych opisu-
jących klientów banku, oddziały banku oraz wzajemne relacje pomiędzy klien-
tem a bankiem. Baza1 dotyczy ogólnokrajowego banku prowadzącego swą dzia-
łalność w Czechach. Państwo to zostało podzielone na 8 regionów oraz 77 okrę-
gów. Każdy z okręgów opisany jest przy pomocy 15 atrybutów dotyczących
między innymi liczby mieszkańców, miejscowości, płac, bezrobocia a nawet
przestępczości w okręgu. Opisano przeszło 4 tysiące klientów przy pomocy 9
tysięcy rekordów w jednej tablicy, składającej się z 67 atrybutów. Większość
klientów zamieszkuje ten sam okręg, w którym mieści się oddział banku, a jedy-
nie około 10% ma swój bank w innym okręgu.
Celem eksperymentu była analiza kredytów udzielanych przez bank klien-
tom. Atrybut loan_status opisujący stan kredytu klienta i przyjmujący następują-
ce wartości: A – umowa zakończona, kredyt spłacony, B – umowa zakończona,
kredyt nie spłacony, C – umowa w trakcie, dotychczas jest OK, D – umowa w
trakcie, klient w długach, może służyć do klasyfikacji klientów na tych, którym
warto było udzielić kredytu i tych, którym udzielenie kredytu zakończyło się
niepowodzeniem. Do tablicy dodano atrybut o nazwie „UDANY” przyjmujący
wartość 0 dla wartości B, atrybut D loan_status - dla przypadków zakończonych
niepowodzeniem oraz wartość 1 dla przypadków zakończonych powodzeniem.
Bazę ograniczono do klientów, którzy zaciągali kredyt. Spośród 751 klientów
76 sklasyfikowano do grupy, w której udzielenie kredytu zakończyło się niepo-
wodzeniem. Chcieliśmy zbadać wpływ poszczególnych atrybutów na powodze-
nie lub niepowodzenie spłaty kredytu przez klienta. Została wykorzystana tutaj
metoda klasyfikacji oparta na Adaptacyjnej Sieci Bayesa, w której przyjęto jako
wynikowy atrybut - „UDANY”. Oprócz zakwalifikowania obiektu do danej
klasy, definiuje również reguły określające - jakie wartości atrybutów obiektów
musi dany obiekt posiadać, aby został zakwalifikowany do konkretnej klasy.
Przykładową regułą może być:
Jeśli dochód miesięczny klienta jest > 2000 zł i wiek ≤ 40 to może być za-
interesowany kredytem.
Algorytm ten przewiduje odpowiedź w postaci binarnej (klient dostanie lub
nie dostanie kredytu) lub w postaci wielowartościowej (klient jest w grupie roz-
wijającej się, stabilnej lub upadającej). Każdy z obiektów oprócz określenia
1 Baza danych przygotowana przez P. Berkę i M. Sochorovą dostępna w internecie:
http://lisp.vse.cz/pkdd99/chall.htm
Oracle 9i Data Mining narzędziem do ekstrakcji wiedzy z baz danych
327
klasy posiada także zdefiniowane prawdopodobieństwo dopasowujące go do tej
klasy. Metoda ta składa się z trzech etapów: (1) budowy modelu na zbiorze da-
nych historycznych, (2) testu modelu na innym zbiorze danych historycznych,
(3) zastosowania modelu do danych bieżących w celu ich klasyfikacji.
Budowę modelu kończy wygenerowanie reguł. Otrzymany model (przy wy-
korzystaniu Oracle 9i Data Mining) został przedstawiony przy pomocy reguł
przedstawionych w Tabeli 1.
Tabela 1
Model drążenia danych prezentujący najważniejsze reguły
If LOAN_STATUS in (A, C) then UDANY equal (0)
If LOAN_STATUS in (B, D) then UDANY equal (1)
If CARD_TYPE in (C, G, J) then UDANY equal (0)
If CARD_CARD_ID in (1010, 1087, 1176, 1223, 16, OTHER_CATEGORY) then UDANY equal (0)
If CARD_DATE in (950502 00:00:00, 960101 00:00:00, 960911 00:00:00, 961006 00:00:00, 961027
00:00:00, OTHER_CATEGORY) then UDANY equal (0)
If CARD_DISP_ID in (10887, 116, 12502, 13231, 2141, OTHER_CATEGORY) then UDANY equal (0)
If TRANS_OPERATION in (B, C, D, E) then UDANY equal (0)
If TRANS_BALANCE in (-1350 - 115809) then UDANY equal (0)
If TRANS_ACCOUNT_ID in (110 - 11359) then UDANY equal (0)
If TRANS_TRANS_ID in (53272 - 779076, 779076 - 1504880, 1504880 - 2230684, 2230684 - 2956488,
2956488 - 3682292) then UDANY equal (0)
If TRANS_TYPE in (A, B) then UDANY equal (0)
Analiza powyższych reguł pozwala stwierdzić, że baza, która została podda-
na procesowi drążenia danych nie zawiera wiele wiedzy. Reguły w większości
przypadków są bezużyteczne, gdyż najczęściej wskazują pełną dziedzinę atrybu-
tów. Na uwagę zasługuje jedynie fakt, iż nie było kłopotów z klientami, którzy
na co dzień posługują się kartami kredytowymi, gdyż analiza wykazała, że nie
było ani jednego klienta, który posługuje się kartą kredytową i nie spłacił kredy-
tu. Specyfikacja macierzy kosztów budowy modelu nie przyniosła żadnych
zmian wyniku.
Kolejną metodą było wykorzystanie reguł kojarzących. Metoda ta umożliwia
wyszukiwanie związków miedzy danymi. Typowym zastosowaniem tego algo-
rytmu jest „analiza koszykowa” polegająca na wyszukiwaniu powiązań między
np. towarami kupowanymi razem. W metodzie tej występuje tu tylko 1 etap,
którego wynikiem jest zestaw reguł w postaci: jeśli atrybut A osiąga wartość A’
to atrybut B przyjmuje wartość B’.
Reguły kojarzące można definiować w oparciu o pojęcie zbioru częstego.
Niech L = {l1, l2, ..., ln} będzie zbiorem elementów (literałów), a D – kolekcją
transakcji o dowolnej długości i każda T ∈D i T ⊂ L. Mówimy, że transakcja T
wspiera element x, gdy x ∈ T oraz wspiera zbiór X, gdy T wspiera każdy ele-
ment x∈X. Wsparciem zbioru X nazywamy stosunek liczby transakcji wspiera-
jących X do liczby wszystkich transakcji.
Zarządzanie wiedzą i rozwiązania Business Intelligence
|{ T ∈ D: T wspiera X}|
Wsparcie(X,D)= ----------------------------------
| D |
Problem odkrywania zbiorów częstych polega na znalezieniu w danej bazie
danych D wszystkich zbiorów, których wsparcie jest wyższe od zdefiniowanej
przez użytkownika wartości zw. minimalnym wsparciem (minsup). Zbiór, które-
go wsparcie jest wyższe niż minsup nazywa się zbiorem częstym (frequent item-
set).
Reguła kojarząca jest implikacją postaci X ⇒ Y,
gdzie X ⊂ L, Y ⊂ L, a X ∩ Y = ∅.
Każda z reguł związana jest z dwoma miarami:
• Wsparciem (support) – mówi o tym jak często wartości atrybutów występują
razem,
|{ T ∈ D: T wspiera X∪Y }|
Wsparcie(X ⇒ Y ,D)= -------------------------------------
| D |
• Zaufanie (confidence) reguły X ⇒ Y w bazie danych jest stosunkiem liczby
transakcji wspierających regułę do liczby transakcji wspierających poprzed-
nik reguły.
|{ T ∈ D: T wspiera X∪Y }|
Zaufanie(X ⇒ Y ,D)= -------------------------------------
|{ T ∈ D: T wspiera X}|
Problem odkrywania reguł asocjacyjnych polega na znalezieniu w bazie da-
nych D wszystkich reguł, których wsparcie i zaufanie (ufność) są wyższe od
zdefiniowanych przez użytkownika wartości minimalnego wsparcia i zaufania
(minisup, miniconf).
W metodzie tej nie ustawia się atrybutu wynikowego w związku z czym
otrzymane reguły dotyczą wszystkich atrybutów. Otrzymane wyniki przedstawia
Tabela 2.
Analiza otrzymanych wyników nasuwa wniosek, że jeśli klient mieszka w
okręgu, w którym liczba popełnionych przestępstw w 1996 roku była mniejsza
niż 25532, to w 93 % udzielenie mu kredytu było dobrą decyzją.
Wartość tego wniosku podważa jednak fakt, iż 89% klientów spośród
wszystkich zostało zaklasyfikowanych jako dobrych, więc 93% nie stanowi
wielkiego przełomu.
Podany przykład świadczy o tym, że nie z każdej bazy można wyciągnąć
wartościową wiedzę. Hipotezy otrzymane w wyniku drążenia danych należy
zweryfikować. Często może się zdarzyć, ze otrzymana wiedza jest trywialna i
nie ma żadnej wartości. Nie zmienia to jednak faktu, że może się zdarzyć, iż
koszty związane z weryfikacją bezwartościowych hipotez są niewspółmiernie
niskie w stosunku zysków osiągniętych z odkrycia wartościowej wiedzy.
Oracle 9i Data Mining narzędziem do ekstrakcji wiedzy z baz danych
329
Tabela 2
Reguły będące wynikiem działania metody Association Rules
Rule 28009: If ACCOUNT_DIST_A16=888-20531.8 then CLIENT_DIST_A16=888-20531.8 [support:
0.8600311, confidence: 0.98691255]
Rule 28010: If CLIENT_DIST_A16=888-20531.8 then ACCOUNT_DIST_A16=888-20531.8 [support:
0.8600311, confidence: 0.9770318]
Rule 27980: If CLIENT_DIST_A15=818-17789.8 then CLIENT_DIST_A16=888-20531.8 [support:
0.82115084, confidence: 1.0]
Rule 27979: If CLIENT_DIST_A16=888-20531.8 then CLIENT_DIST_A15=818-17789.8 [support:
0.82115084, confidence: 0.93286216]
Rule 1205: If CLIENT_DIST_A16=888-20531.8 then UDANY=.8-1 [support: 0.81596684, confidence:
0.9269729]
Rule 1409: If ACCOUNT_FREQUENCY=A then UDANY=.8-1 [support: 0.777605, confidence:
0.9339975]
Rule 27980: If CLIENT_DIST_A15=818-17789.8 then CLIENT_DIST_A16=888-20531.8 [support:
0.82115084, confidence: 1.0]
Rule 30318: If ACCOUNT_DIST_A15=818-17789.8 then ACCOUNT_DIST_A16=888-20531.8 [sup-
port: 0.8118196, confidence: 1.0]
Rule 15252: If CLIENT_DIST_A4=42821-275247.4 then CLIENT_DIST_A15=818-17789.8 [support:
0.78900987, confidence: 1.0]
Rule 15254: If CLIENT_DIST_A4=42821-275247.4 then CLIENT_DIST_A16=888-20531.8 [support:
0.78900987, confidence: 1.0]
Rule 15252: If CLIENT_DIST_A4=42821-275247.4 then CLIENT_DIST_A15=818-17789.8 [support:
0.78900987, confidence: 1.0]
Rule 15254: If CLIENT_DIST_A4=42821-275247.4 then CLIENT_DIST_A16=888-20531.8 [support:
0.78900987, confidence: 1.0]
Podsumowanie
Metody eksploracji danych znalazły stosunkowo niewielkie zastosowanie w
przedsiębiorstwach. Eksploracja danych ma sens w odniesieniu do dużych i bar-
dzo dużych zbiorów baz danych poprzez przeprowadzenie dogłębnej analizy
różnych baz danych (relacyjnych, obiektowych, wielowymiarowych, przestrzen-
nych, graficznych i innych). W efekcie drążenia danych odkrywamy wiedzę
uprzednio nieznaną lub nie uświadamianą w postaci schematów, związków,
zależności, anomalii, czy struktur. Eksploracja wymaga wiele pracy, gdyż zanim
dane zostaną poddane analizie muszą być odpowiednio przygotowane. Jednak
brak odpowiedniej wiedzy i aktualnej informacji w zmieniającym się otoczeniu
ekonomicznym z powodu niewykorzystania tego potencjału danych może często
oznaczać porażkę firmy.
Zarządzanie wiedzą i rozwiązania Business Intelligence
Literatura
[BELI97]
Berry M.J.A., Linoff G.: Data Mining Techniques for Market-
ing, Sales and Customer Support, Wiley Computer Publishing,
1997
[BYRS02]
Byrski M.: Data Mining w bazie Oracle 9i. Materiały z VIII
Konferencji PLOUG. Kościelisko, październik 2002, s.113-122
[CHEN96]
Chen M.S. Han J., Yu P.S.: Data Mining: An Overview from a
Database Perspective, IEEE Transactions on Knowledge and
Data Engineering, 8(6): p.866-883, 1996
[HANJ99]
Han J. Data mining, Kluwer Academic Publishers,1999
[InWG97]
Inmon W.H., J.D. Welch, Glassey K.L.: Managing the Data
Warehouse, Wiley Comp. Publishing 1997
[MORZ99]
Morzy T.: Eksploracja danych: problemy i rozwiązania. Mate-
riały z V Konferencji PLOUG. Zakopane, październik 1999
[NySm00]
Nycz M., Smok B.: Problemy związane z pozyskiwaniem wie-
dzy z baz danych. Prace Naukowe nr 850 AE we Wrocławiu,
Wrocław 2000
[NySP03]
Nycz M., Smok B., Pondel M.: Wykorzystanie Oracle 9i Data
Mining do pozyskiwania wiedzy z baz danych, w: Drelichowski
L., Januszewski A., Dzieża G. (red.): Zastosowanie technik in-
formatycznych w gospodarce i zarządzanie wiedzą, Katedra In-
formatyki w Zarządzaniu, Akademia Techniczno-Rolnicza w
Bydgoszczy, Bydgoszcz-Ciechocinek 2003
[ORAC02]
Oracle: Oracle 9i Data Mining Concepts Release 2(9.2), Oracle
2002
[MoWo99]
Morzy M., Wojciechowski M.: Integracja technik eksploracji
danych z systemem zarządzania bazą danych na przykładzie
Oracle 9i Data Mining. Materiały z Konferencji PLOUG, Zako-
pane październik 1999
ORACLE 9I DATA MINING AS A TOOL FOR KNOWLEDGE
EXTRACTION FROM LARGE DATABASES
The article presents the exemplary usage of the Oracle 9i Data Mining within
knowledge extraction process from databases. It consists of four parts. After
short introduction describing knowledge extraction issues, Oracle Data Mining
has been presented. The next part presents example of practical exploration
realized by this tool. As an example the real bank database has been taken into
consideration. The paper ends with the carried out researches summary.
Key
words:
data
mining,
knowledge
discovery,
exploration