Bazy danych Technologie OLAP i Data Mining
Technologie OLAP i Data Mining Grzegorz Gałęzowski
[email protected]
Systemy baz danych rozbudowały się znacząco w ciągu ostatnich dwóch dziesięcioleci. Odniosły one sukcesy w niezliczonej liczbie dziedzin współczesnego życia. Gromadzimy więcej i więcej danych, które są zapisywane w bazach danych.
B
azy o rozmiarach terabajtów są już na porządku dziennym. Często przedsiębiorstwo zdobywa i przechowuje różnego rodzaju dane, których nie potrafi wykorzystać. Sukces zależy w dużej mierze od umiejętności wykorzystania posiadanych informacji. Jednak duże zbiory nie podlegają łatwej analizie, szczególnie jeżeli jest ona dokonywana przez administratora. Dlatego też przychodzą nam tutaj z pomocą takie technologie jak OLAP i Data Mining.
OLAP
OLAP w swoim głównym zamierzeniu jest narzędziem nieingerującym w zawartość bazy, ani nie aktualizującym bazy danych. Narzędzia z tej rodziny przetwarzają dane online, znajdujące się w bazach i odpowiadają na zapytania użytkowników. Szeroka gama aplikacji umożliwia analizy ilościowe, jak i dostarcza niezbędnych informacji do analiz jakościowych. Jednak żeby lepiej zrozumieć termin OLAP pomocna będzie nam historia. W 1985 roku powstał termin przetwarzanie transakcji w trybie online (ang. Onli-
52
marzec 2009
ne Ttransaction Processing). Autorem tego terminu jest E. F. Codd, który zaproponował 12 kryteriów definiujących bazę danych typu OLTP. Zaproponowana przez niego terminologia została powszechnie zaakceptowana jako standard dla baz danych używanych do zarządzania transakcjami firmy. W 1993 Codd wprowadził kolejny termin przetwarzanie analityczne w trybie online (ang. Online Analytical Processint). Tak jak w poprzednim przypadku, tak i teraz zaproponował 12 kryteriów definiujących bazę typu OLAP. Niestety w tym przypadku jego kryteria nie zostały powszechnie przyjęte. Współcześnie Online Analytical Processing (OLAP) to technologia analizująca duże ilości danych w czasie rzeczywistym. W przeciwieństwie do przetwarzania transakcji na bieżąco (OLTP), które są zaprojektowane tak, aby umożliwić przechowywanie danych operacyjnych w celu skutecznej obsługi transakcji, OLAP zajmuje się przechowywaniem danych w streszczonych tabelach, w celu ułatwienia użytkownikom nawigacji i pobierania danych. System OLAP wykorzystuje technikę Multidimensional Analysis. Podczas gdy relacyjna baza danych gro-
Bazy danych Technologie OLAP i Data Mining madzi wszystkie dane w formie kolumn, wielowymiarowy zestaw danych składa się z kostki zawierającej agregacje wstępnie obliczone dla poszczególnych wymiarów. Przykładowy zestaw danych przedstawia Tabela 1. Systemy OLAP wykonują kalkulacje i modelowanie ważnych wielkości, które są nazywane wymiarami i wykazują w swojej zasadzie podobieństwo do fizycznych wymiarów przestrzeni i czasu. Wymiary są atrybutami do pomiaru wskaźnika efektywności danych, które posiadają miarę zwaną Key Performance Indicators (KPI), czyli kluczowe wskaźniki wydajności. Przy wykonywaniu analizy należy wziąć pod uwagę pojedynczą miarę dla kilku wymiarów. Miarą może być ilość sprzedanych towarów, a wymiarami czas i geografia. Przy wybraniu jako wymiarów Lublin i miesiąca listopad, system OLAP wyliczy ilość sprzedanych towarów w Lublinie, w listopadzie. Systemy OLAP zawsze analizują miary na bazie wielu wymiarów i dlatego właśnie są one nazywane wielowymiarowymi Gdy zostanie zdefiniowana miara i wymiary można przystąpić do zdefiniowania i budowy kostki OLAP (Cube). Kostkę taką buduje się z atrybutów wymiarów. Atrybuty te są osiami koordynat kostki. Kostka może mieć np. oś miast z wymiaru klienta, oś lat z wymiaru czasu i oś nazw produktów z wymiaru produktów (Rysunek 1). Wielowymiarowość OLAP nie odnosi się tak jak to w przypadku sześcianu tylko do trzech wymiarów. W tej technologii liczba wymiarów przypisanych do kostki danych może wahać się od jednego do nieskończoności. Czyli takiej ilości jaka będzie potrzebna. OLAP może kojarzyć się wielu ludziom jako jedno lub też wielowymiarowa hurtownia danych. Najczęściej termin ten jednak jest zarezerwowany dla wyspecjali-
zowanych narzędzi służących do łatwego Narzędzia OLAP wykonują skompliudostępniania zgromadzonych informacji w kowane analizy danych historycznych przy hurtowniach danych. pomocy wspomnianej już struktury wieloTabela 1. Przykładowy zestaw danych w kostce OLAP Rok
2007
Produkt
Sprzedaż w złotówkach
Sprzedaż jednostkowa
2008 Sprzedaż w złotówkach
Sprzedaż jednostkowa
Wzrost Sprzedaż w złotówkach
Sprzedaż jednostkowa
Całość
17,165
2,825
18,867
3,163
10%
12%
Książki
12,845
956
14,562
1,121
13%
17%
—— Romanse
1,341
424
1,202
380
16%
37%
—— Sensacja
1,412
400
1,224
386
11%
2%
— Czasopisma
2,753
824
2,426
766
-12%
-7%
— Pocztówki
1,567
1,045
1,879
1,276
20%
22%
Listing 1. Tworzenie bazy w systemie Oracle sqlplus system/manager
SQL> create user foodmart identified by foodmart; User created.
SQL> grant connect, resource to foodmart; Grant succeeded. SQL> exit
. importing FOODMART's objects into FOODMART . . importing table
"customer"
10281 rows
. . importing table
"days"
7 rows
. . importing table
"inventory_fact_1997"
4070 rows
. . importing table
"inventory_fact_1998"
7282 rows
. . importing table
"product"
1560 rows
. . importing table
"product_class"
110 rows
. . importing table
"promotion"
1864 rows
. . importing table
"region"
110 rows
. . importing table
"sales_fact_1997"
86837 rows
. . importing table
"sales_fact_1998"
164558 rows
. . importing table
"sales_fact_dec_1998"
18325 rows
. . importing table
"store"
24 rows
. . importing table
"time_by_day"
730 rows
. . importing table
"warehouse"
24 rows
. . importing table
"warehouse_class"
6 rows
imported imported imported imported imported imported imported imported imported imported imported imported imported imported imported
Rysunek 1. Trójwymiarowa kostka OLAP (Cube)
Import terminated successfully without warnings.
www.lpmagazine.org
53
Bazy danych Technologie OLAP i Data Mining wymiarowej. Struktura ta jest przechowywana w hurtowni danych, czyli wyspecjalizowanej bazie danych, która jest zbiorem różnorodnych baz danych. Usługi OLAP pozwalają na zbudowanie jednej aplikacji dla wykonywania różnych zapytań analitycznych zamiast budowania specyficznej aplikacji dla każdego zapytania. Narzędzia OLAP wnoszą do relacyjnych baz danych następujące zalety: • • •
krótki czas odpowiedzi; zapytania oparte na metadanych; styl formuł arkusza kalkulacyjnego.
LAP (OLAP relacyjny), HOLAP (OLAP hybrydowy). MOLAP służy do tworzenia kostek wielowymiarowych na podstawie danych przechowywanych w hurtowni danych. ROLAP umożliwia wysyłanie zapytań dotyczących zagregowanych danych. HOLAP łączy zalety MOLAP i ROLAP i został zaprojektowany z myślą o takich sytuacjach, w których 80% zapytań dotyczy danych agregacyjnych, a 20% dotyczy danych źródłowych. Aplikacje OLAP umożliwiają:
• Opcje przechowywania dostępne w OLAP • to: MOLAP (OLAP wielowymiarowy), RO- •
przeglądanie danych w bazach; tworzenie tabel przestawnych; selekcjonowanie danych;
• •
drążenie w górę i drążenie w dół; tworzenie raportów i wykresów.
Data Mining
Data Mining jest procesem mającym na celu pozyskanie użytecznej wiedzy z baz danych. W języku polskim tłumaczy się ten termin jako drążenie danych lub zgłębianie danych. Data Mining to praca na dużych zbiorach danych, w sytuacjach, gdy techniki statystyczne nie są wystarczające. Ręczne przeglądanie tabel rzadko pozwala na wykrycie przydatnych relacji, to w większości przypadków dane są analizowane za pomocą automatycznego procesu nazywanego Knowledge Discovery, czyli odkrywanie wiedzy. Knowledge Discove-
Listing 2. Tworzenie bazy w systemie MySQL mysql\bin> mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO foodmart@localhost
| days
|
| inventory_fact_1997 | | inventory_fact_1998 | | product
-> IDENTIFIED BY 'foodmart';
|
| product_class
|
| promotion Query OK, 0 rows affected (0.06 sec) mysql> create database foodmart;
|
| sales_fact_1997
|
| sales_fact_1998
|
Query OK, 1 row affected (0.00 sec)
| sales_fact_dec_1998
mysql> use foodmart
| store
Database changed
| time_by_day
mysql> connect foodmart
| | |
| warehouse
|
Connection id: 5
| warehouse_class
Current database: foodmart
+-------------------------+
Zmieniamy składnię dla MySQL: -Zmień wszystkie kolumny „varchar” w skrypcie FoodMartTables.sql na „varchar(30)”. -Zmień wartości “false/true” w FoodMartData.sql na “0/1”.
|
15 rows in set (0.03sec)
mysql> select * from days; +------+-----------+ | day
| week_day
|
Utwórz tabele, następnie załaduj dane (przy okazji
+------+-----------+
można sprawdzić czy wszystko jest OK.) i utwórz
| 1
| Sunday
indeksy:
| 2
| Monday
|
mysql> source /mondrian/demo/FoodMartTables.sql
| 5
| Thursday
|
Query OK, 1 row affected (0.00 sec)
| 4
| Wednesday |
(15 times)
| 3
| Tuesday
mysql> source /mondrian/demo/FoodMartData.sql
| 6
| Friday
Query OK, 1 row affected (0.00 sec)
| 7
| Saturday
(315,789 times)
+------+-----------+
|
| | |
7 rows in set (0.06 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec) mysql> show tables;
mysql> source /mondrian/demo/FoodMartIndexes.sql Query OK, 10281 rows affected (0.63 sec)
+------------------------+
Records: 10281 Duplicates: 0 Warnings: 0
| Tables_in_foodmart
... itd.
|
+------------------------+ | customer
54
|
| region
|
mysql> exit
marzec 2009
Bazy danych Technologie OLAP i Data Mining ry jest komponentem Data Mining i umożliwia dostrzeganie prawidłowości i reguł w odpowiednio prezentowanych zbiorach danych. Proces wykrywania prawidłowości jest zautomatyzowany, a operator decyduje, które prawidłowości uznać za ważne. Techniki tego typu są stosowane wszędzie tam, gdzie szukany jest związek pomiędzy zjawiskami. Warunkiem niezbędnym jest posiadanie zbioru danych, które odzwierciedlają badane zjawisko. Jako już książkowy można podać przykład zależności sprzedaży piwa i pieluch. Dzięki kodom kreskowym supermarkety mogą zidentyfikować każdy produkt objęty transakcją oraz zbadać otrzymane dane w celu usta-
lenia relacji pomiędzy zakupami. Na przykład, jeśli firma chce zwiększyć sprzedaż piwa, to może przeanalizować wszystkie zakupy piwa w celu ustalenia, jakie produkty wybierają klienci kupujący piwo. Jeśli okaże się, że ci klienci często kupują także pieluszki, to firmie może udać się zwiększyć sprzedaż piwa poprzez przeprowadzenie promocji pieluszek. Inny jeszcze przykład zastosowania Data Mining jak najbardziej na czasie to budowa modeli oceniających zdolność kredytową klientów banku. Jeśli dysponujemy bazą klientów, którzy zaciągnęli w przeszłości kredyty oraz informacją o tym, jak każdy z nich poradził sobie z jego spłatą, możemy próbować określić cechy klientów, którzy
kredyty spłacają i cechy takich, którzy mają z tym problemy. W ten sposób przy dobrej analizie, można zabezpieczyć się przed przydzielaniem złych kredytów. Metodę zgłębiania danych można także wykorzystać w wielu innych dziedzinach życia i nie ogranicza się tylko do zastosowań biznesowych. Co ciekawe, zgłębianie danych stosuje się także w takich dziedzinach jak diagnostyka medyczna czy meteorologia. Każda dziedzina biznesu czy nauki, w której zbiera się i bada duże ilości danych, może skorzystać z technologii zgłębiania danych.
Listing 3. Przykładowe zapytanie w MDX select NON EMPTY {[Measures].[Actual]} ON COLUMNS;
NON EMPTY Hierarchize(Union({[Positions].[All Positions]}, [Positions].[All Positions].Children)) ON ROWS; from [Quadrant Analysis].
Listing 4. Fragment promotora E.coli (DNA) +,S10,tactagcaatacgcttgcgttcggtggttaagtatgtataatgcgcgggcttgtcgt;
Rysunek 2. Ekran powitalny
+,AMPC,tgctatcctgacagttgtcacgctgattggtgtcgttacaatctaacgcatcgccaa; +,AROH,gtactagagaactagtgcattagcttatttttttgttatcatgctaaccacccggcg; +,DEOP2,aattgtgatgtgtatcgaagtgtgttgcggagtagatgttagaatactaacaaactc; +,LEU1_TRNA,tcgataattaactattgacgaaaagctgaaaaccactagaatgcgcctccgtggtag; +,MALEFG,aggggcaaggaggatggaaagaggttgccgtataaagaaactagagtccgtttaggt; +,MALK,cagggggtggaggatttaagccatctcctgatgacgcatagtcagcccatcatgaat; +,RECA,tttctacaaaacacttgatactgtatgagcatacagtataattgcttcaacagaaca; +,RPOB,cgacttaatatactgcgacaggacgtccgttctgtgtaaatcgcaatgaaatggttt; .....; +,RRNAB_P1,ttttaaatttcctcttgtcaggccggaataactccctataatgcgccaccactgaca; +,RRNAB_P2,gcaaaaataaatgcttgactctgtagcgggaaggcgtattatgcacaccccgcgccg;
Rysunek 3. Ekran z licencją systemu
+,RRNDEX_P2,cctgaaattcagggttgactctgaaagaggaaagcgtaatatacgccacctcgcgac; +,RRND_P1,gatcaaaaaaatacttgtgcaaaaaattgggatccctataatgcgcctccgttgaga.
Listing 5. MDX – analiza sprzedaży dla klientów z USA i Kanady SELECT;
{([Measures].[Unit Sales]])} ON COLUMNS; {;
([Customers].[All Customers].[USA],[Product].[All Products].[Food]); ([Customers].[All Customers].[USA],[Product].[All Products].[Drink]); ([Customers].[All Customers].[USA];
Rysunek 4. Wybór instalowanych aplikacji
[Product].[All Products].[Non-Consumable]); ([Customers][All Customers].[Canada]; [Product].[All Products].[Food]); ([Customers].[All Customers].[Canada]; [Product].[All Products].[Drink]); ([Customers].[All Products].[Non-Consumable]); } ON ROWS;
FROM SALES.
Rysunek 5. Wybór poziomu instalacji
www.lpmagazine.org
55
Bazy danych Technologie OLAP i Data Mining Analizy danych wspierane metoda- używanych w produkcji pomaga wskazać te mi Data Mining mogą przynieść wiele ko- materiały lub części, które mogą ulec najrzyści: szybszemu uszkodzeniu lub zużyciu. Najczęściej używane i najbardziej uży• pozyskiwanie informacji o bieżącym teczne metody analityczne z jakimi możelub potencjalnym rynku; my się spotkać w odkrywaniu wiedzy to: • stworzenie profilów klientów i modelowanie ich zachowań; • analiza statystyczna, która opiera się • przewidywanie trendów; na odpowiednim wykorzystaniu reguł • wykrywanie błędów i nieprawidłowona relacjach między danymi; ści w danych. • analiza klasyfikacji, która grupuje dane według pewnych podobieństw lub ustaPrognozowanie polega na wykorzystaniu lonych cech wspólnych; znanych w danej chwili zmiennych w celu • analiza odchyleń, która wykorzystuje przewidywania wartości tych zmiennych w wartości procentowe i wyjątki od reguprzyszłości. Na przykład model prognozoły, aby zdefiniować obszary wymagająwania trwałości i zużywania się materiałów ce usprawnień;
•
Mondrian
Mondrian jest silnikiem OLAP napisanym w języku Java, udostępnionym na licencji GNU Jest uważany za czołowy projekt opensource w zakresie aplikacji OLAP. Umożliwia interaktywną analizę dużych ilości danych, przechowywanych w bazach danych SQL. Jego zadaniem jest wykonywanie pytań napisanych w specjalnym rozszerzeniu języka SQL – MDX, który pobiera dane do analizy z relacyjnej bazy danych (RDBMS). Po przetworzeniu dane są prezentowane użytkownikowi Mondrian może być wykorzystywany do: •
• •
Rysunek 6. Wybór katalogu dla naszej instalacji
Rysunek 8. Konfiguracja loginu i hasła dla MySQL
analiza trendu, polegająca na poszukiwaniu trendów i wyprowadzaniu założeń lub prognoz opartych na nich.
•
wydajnej interaktywnej analizy zarówno małych, jak i bardzo dużych pakietów danych; eksploracji wielowymiarowej danych; analizy z wykorzystaniem MDX w języku SQL; zaawansowane obliczenia z wykorzystaniem wyrażeń języka MDX.
System Mondrian składa się z czterech warstw: •
Rysunek 7. Instalacja bazy danych
Rysunek 9. Konfiguracja portu serwera aplikacji Jboss
warstwa prezentacji danych to coś co dotyczy końcowego użytkownika. Warstwa ta jest odpowiedzialna za prezentację przetworzonych danych, które są wyświetlane na ekranie użytkownika. Umożliwia także użytkownikowi interaktywną komunikację z programem,
Listing 6. MDX – poprawione zapytanie z Listingu 5 SELECT;
([Time].[1998],[Customers].[All Customers].[USA];
{;
([Time].[1998],[Customers].[All Customers].[USA];
([Time].[1997],[Customers].[All Customers].[USA];
[Product].[All Products].[Drink]);
[Product].[All Products].[Food]);
([Time].[1998],[Customers].[All Customers].[USA];
([Time].[1997],[Customers].[All Customers].[USA];
[Product].[All Products].[Non-Consumable]);
[Product].[All Products].[Drink]);
([Time].[1998],[Customers].[All Customers].[Canada];
([Time].[1997],[Customers].[All Customers].[USA];
[Product].[All Products].[Food]);
[Product].[All Products].[Non-Consumable]);
([Time].[1998],[Customers].[All Customers].[Canada];
([Time].[1997],[Customers].[All Customers].[Canada];
[Product].All Products].[Drink]);
[Product].[All Products].[Food]);
([Time].[1998],[Customers].[All Customers].[Canada];
([Time].[1997],[Customers].[All Customers].[Canada];
[Product].[All Products].[Non-Consumable]);
{([Measures].[Unit Sales])} ON COLUMNS;
[Product].[All Products].[food]);
[Product].[All Products].[Drink]); ([Time].[1997],[Customers].[All Customers].[Canada]; [Product].[All Products].[Non-Consumable]);
56
} ON ROWS;
FROM Sales.
marzec 2009
Bazy danych Technologie OLAP i Data Mining dzięki czemu można tworzyć nowe zapytania dla systemu. warstwa przetwarzania danych. Dokonują się tutaj obliczenia, parsowanie i zapytania MDX. trzecią warstwą jest warstwa agregacji. ostatnia warstwa to warstwa przechowywania informacji w systemie RDBMS.
•
• •
• •
• •
Wszystkie wymienione elementy mogą być uruchomione na jednym komputerze, choć można także rozłożyć to na wiele kompute- • rów. Warstwa 2 i 3, które obejmują serwer Mondrian, muszą być uruchomione na tym samym komputerze. Warstwa 3 może być już zaimplementowana na innym komputerze, do którego dostęp można uzyskać poprzez interfejs JDBC. Natomiast warstwa prezentacji danych może funkcjonować na każdym kliencie.
instalacja Ant http://jakarta.apache.org/ ant/; instalacja serwera aplikacji Apache Tomcat http://jakarta.apache.org/ tomcat/; instalacja Xalan’a http:// xml.apache.org/xalan-j/index.html; następnie przechodzimy do (katalog_ domowy)/bin instalacji Xalan’a i kopiujemy pliki xalan.jar i xml-apis.jar do (katalog_domowy)/common/lib; teraz pozostaje nam modyfikacja pliku wsadowego build.sh, ustawiamy tutaj nasze lokalizacje środowiskowe: JAVA_ HOME, ANT_HOME, TOMCAT_HOME, XALAN_HOME, JUNIT_HOME.
Teraz, gdy mamy przygotowany warsztat pracy, możemy przejść do następnego etapu budowy naszego systemu analitycznego. W tym celu musimy zaopatrzyć się w dystrybucję Mondriana (mondrian0.x.bin.zip) i oczywiście następnie rozpakować do wybranego miejsca na dysku twardym. Powiedzmy, że może to być katalog /mondrian. A teraz krok po kroku musimy postępować według następujących zaleceń: •
ładujemy bazę danych (szczegółowy opis w dalszej części tekstu, ze szczególnym uwzględnieniem konkretnych systemów bazodanowych);
Czas na coś praktycznego
Pierwszy krok to zbudowanie środowiska do dalszej pracy. Cały proces można zamknąć w kilku krótkich krokach. Instalację i konfigurację podzielę na dwie części. W pierwszej zostanie przedstawiona instalacja bazująca na starym wydaniu systemu. W drugiej części przedstawię konfigurację bazującą na wersji oferowanej przez firmę Pentado, która także jest opensource. Zaczynamy od wersji historycznej. •
zainstalowanie Java Development Kit. Polecam instalację najnowszą wersję JDK ze strony http://java.sun.com/ Rysunek 10. Podsumowanie instalatora javase/downloads/index.jsp; Listing 7. MDX – sprzedaż napojów dla klientów w USA SELECT;
([Time].[1998],[Customers].[All Customers].[USA],[Prod
{;
([Time].[1998],[Customers].[All Customers].[USA],[Prod
([Time].[1997],[Customers].[All Customers].[USA],[Prod
uct].[All Products].[Drink].[Beverages]);
uct].[All Products].[Food]);
([Time.[1998],[Customers].[All Customers].[USA],[Produ
([Time].[1997],[Customers].[All Customers].[USA],[Prod
ct].[All Products].[Drink].[Dairy]);
uct].[All Products].[Drink]);
([Time].[1998],[Customers].[All Customers].[USA],[Prod
([Time].[1997],[Customers].[All Customers].[USA],[Prod
uct].[All Products].[Non-Consumable]);
uct].[All Products].[Non-Consumable]);
([Time].[1998],[Customers].[All Customers].[Canada],[P
([Time].[1997],[Customers].[All Customers].[Canada],[P
roduct].[All Products].[Food]);
roduct].[All Products].[Food]);
([Time].[1998],[Customers].[All Customers].[Canada],[P
([Time].[1997],[Customers].[All Customers].[Canada],[P
roduct].[All Products].[Drink]);
roduct].[All Products].[Drink]);
([Time].[1998],[Customers].[All Customers].[Canada],[P
([Time].[1997],[Customers].[All Customers].[Canada],[P
roduct].[All Products].[Non-Consumable]);
{([Measures].[Unit Sales])} ON COLUMNS;
uct].[All Products].[Drink].[Alcoholic Beverages]);
roduct].[All Products].[Non-Consumable]); ([Time].[1998],[Customers].[All Customers].[USA],[Prod uct].[All Products].[Food]);
} ON ROWS;
FROM Sales.
www.lpmagazine.org
57
Bazy danych Technologie OLAP i Data Mining •
• •
•
dokonujemy zmian w /bin/mondrian.sh i /bin/mondrian.properties by dostosować nasze środowisko systemowe; przechodzimy do katalogu bin; skrypt mondrian.sh przeprowadza cały zestaw testów JUnit. Wszystko powinno odbyć się bez przeszkód; następny krok to utworzenie aplikacji (deploy-to-tomcat). Utworzy się dzięki temu w katalogu domowym serwera TOMCAT /webapps/mondrian.war zarchiwizowana wersja Mondriana;
•
uruchom serwer Tomcat, następnie uru- rialu oprzemy się na kilku najbardziej pochom przeglądarkę internetową i wpro- pularnych. Na pierwszy ogień pójdzie serwadź poniższy adres: http://localhost: wer Oracle. 8080/mondrian. Oracle w wersji od 8.1.7 do najnowszych wersji Oracle 11g. Następnie musimy zaopatrzyć się w plik Utworzymy bazę przez importowanie mondrian-data.zip i rozpakować wszystko do systemu pliku FoodMart.dmp z poniższej do uprzednio wybranego katalogu. Teraz lokalizacji ../demo/oracle/FoodMart.dmp będziemy musieli utworzyć bazę danych. Najpierw uruchamiamy program sqlplus i Tworzenie i ładowanie danych do bazy da- logujemy się jako użytkownik system z hasłem nych będzie zależało od systemu bazodano- manager. Tworzymy użytkownika za pomocą wego, którego używamy. W naszym tuto- komendy create i nadajemy mu odpowiednie uprawnienia. Kolejny krok to zaimportowanie danych do serwera. Cały proces został przedstawiony krok po kroku na Listingu 1. Na koniec pozostaje skonfigurowanie zmiennych środowiskowych według poniższych wskazań: •
•
• Rysunek 11. Ekran logowania do Pentaho Mondrian Listing 8. MDX – użycie klauzuli WHERE SELECT;
{([MEASURES}.[Unit Sales])} ON COLUMNS;
[Product].[Product Category]. MEMBERS ON ROWS; FROM Sales;
WHERE ([Customers].[All Customers].[USA].[WA],[Time].[1997]).
MySQL
MEASURES.[Store Cost]’;
Najpierw zakładamy użytkownika i tworzymy bazę danych tak jak na Listingu 2. W build.xml należy ustawić odpowiednią wartość. Dla celów testowych może to być:
{([Time].[Year].MEMBERS)} ON COLUMNS;
FROM Sales;
value="jdbc:mysql://localhost/food
WHERE (MEASURES.[Store Profit]).
mart?user=root&password="/>
Listing 10. MDX – różnica sprzedaży za rok 1997 i 1998
PostgreSQL
WITH;
Cost]’;
W pliku FoodMartTables.sql wystarczy zmienić DOUBLE na DOUBLE PRECISION i BIT na SMALLINT. Uruchomienie aplikacji.
([Time].[1997])’;
•
{(MEASURES.[Store Sales]),(MEASURES.[Store Cost]);
•
MEMBER MEASURES.[Store Profit] AS ‘MEASURES.[Store Sales] – MEASURES.[Store MEMBER [Time].[1998 1997 Difference] AS ‘([Time].[1998]) – SELECT;
(MEASURES.[Store Profit])} ON COLUMNS;
{([Time].[1997]),([Time].[1998]),([Time].[1998 1997 Difference])}; ON ROWS;
FROM Sales.
58
ustaw ścieżkę dostępu do ORACLE_HOME w build.sh, lub w zmiennych środowiskowych w twoim systemie operacyjnym; dodaj driver JDBC (Oracle8i/jdbc/lib/ classes12.zip) do ścieżki CLASSPATH w build.sh, lub w zmiennych środowiskowych w systemie operacyjnym; w build.xml, ustawiamy wartość dla mondrian.foodmart.jdbcURL i mondrian.foodmart.jdbcURL.oracle. Powinno się tutaj znaleźć nasze hasło i nazwa użytkownika jaką ustawiliśmy dla mondriana, np. jdbc:oracle:oci8: foodmart/foodmart@myoracle.
marzec 2009
wcześniej jednak oczywiście musimy mieć zainstalowany serwer Tomcat; musimy się upewnić, czy wartości założone w pliku mondrian.properties są właściwe dla naszego środowiska. Szczególnie w: • musimy się upewnić, czy sterownik JDBC naszej bazy danych znajduje się w mondrian.jdbcDrivers;
Bazy danych Technologie OLAP i Data Mining •
• • •
sprawdź URL katalogu • w mondrian.test.connectString i mondrian.foodmart.catalogURL; • • sprawdź połączenie JDBC w mondrian.test.connectString i mondrian.foodmart.jdbcURL. uruchom build deploy-webapp; uruchom serwer Tomcat; teraz można uruchomić przeglądarkę internetową i wpisać poniższy adres: http://localhost:8080/mondrian. Można także spróbować http://localhost:8080/ mondrian/taglib.jsp i http://localhost: 8080/mondrian/morph.jsp.
ustalamy nazwę użytkownika i hasło dla serwera MySQL (Rysunek 8); opcjonalnie może pojawić się nam zapytanie o konfigurację portu dla serwera Jboss.
Serwer ten domyślnie wykorzystuje port 8080, jeżeli jakaś inna aplikacja go właśnie wykorzystuje, będziemy przydzielać mu jakiś inny wolny port (Rysunek 9);
W nowych wersjach, które są do pobrania bezpośrednio ze strony Pentaho, będzie to wyglądać tak: •
•
• •
•
•
• •
ściągamy plik instalacyjny ze strony Pentaho: http://www.pentaho.org/ download/latest.html; Rysunek 12. Przykładowe raporty uruchamiamy shell. Przechodzimy do miejsca składowania pliku instalacyjnego. Przełączamy się na użytkownika uprzywilejowanego root (su) i uruchamiamy instalator ./ pentaho-1.7GA-linux-opensource-installer.bin; naszym oczom powinna ukazać się strona startowa instalatora (Rysunek 2); w kolejnym kroku musimy przeczytać licencję programu i aby kontynuować instalację musimy się z nią zgodzić (Rysunek 3); następnie wybieramy aplikacje które nas interesują. W tym przypadku pozostawiamy domyślnie wszystkie aplikacje i przechodzimy do kolejnego kroku (Rysunek 4); wybieramy instalację dla początkująRysunek 13. Raporty i panel administracyjny cych (Easy), która umożliwi nam szybkie skonfigurowanie niezbędnych do funkcjonowania systemu elementów (Rysunek 5); wybieramy katalog dla naszej instalacji (Rysunek 6); w tym kroku wybieramy sposób konfiguracji i instalacji serwera MySQL (Rysunek 7). Mamy tutaj trzy możliwości: • instalacja MySQL w wersji 5.0 wraz z użyciem tej instalacji jako repozytorium dla naszego systemu analitycznego; • stworzenie repozytorium dla MySQL 5.0; • wykorzystanie repozytorium na już istniejącym zewnętrznym serwerze Rysunek 14. Prezentacja możliwości z zakresu analizy wielowymiarowych danych MySQL 5.0;
www.lpmagazine.org
59
Bazy danych Technologie OLAP i Data Mining •
•
w kolejnych trzech krokach utworzymy repozytoria naszego systemu. Instalator zapyta się nas jedynie o ich nazwy. Możemy zostawić domyślne i przejść dalej do etapu końcowego; pod koniec instalator wyświetli nam • podsumowanie naszych wyborów i je-
żeli wszystko się zgadza możemy przystąpić do właściwej instalacji plików (Rysunek 10). Gdy cały proces zakończy się pomyślnie, będziemy mogli uruchomić cały system; aby sprawdzić czy poprawnie uruchomił się nasz system, uruchamiamy
•
•
•
Aby sprawdzić możliwości MDX kliknij w górnym menu na MDX i uruchom edytor MDX (Rysunek 15). Wprowadź do okna edytora poniższą komendę i wciśnij APPLY – (Listing 3) Po-
Rysunek 15. Edytor MDX
Rysunek 16. Raport z zapytania MDX
60
przeglądarkę internetową i wprowadzamy do niej adres: http://localhost:8080 (Rysunek11). Port 8080 jest portem domyślnym i jeżeli podczas instalacji wprowadziliśmy inny port, należy wtedy zastąpić 8080 wybranym przez nas portem. Następnie musimy zalogować się do systemu. Mamy paru użytkowników zdefiniowanych podczas instalacji, wystarczy wybrać z listy dowolnego użytkownika i bez podawania hasła zalogować się; mondrian Pentaho posiada parę demonstracji, które prezentują jego możliwości zarówno z zakresu analizy danych, jak i ich raportowania (Rysunek 12 i 13); możemy się także zapoznać z wcześniej wspomnianym dodatkiem do języka SQL MDX; dostęp do tego będziemy mieli po wybraniu nowej analizy. Uzyskamy w ten sposób dostęp do tworzenia własnych kostek danych i analizy z wykorzystaniem MDX. (Rysunek 14).
Rysunek 17. Baza iProClass w OLAP Mondrian
marzec 2009
Bazy danych Technologie OLAP i Data Mining winniśmy zobaczyć taki oto raport (Rysunek 16). To, co tutaj obserwujemy, to zbiorczy widok wszystkich wydatków i wynagrodzeń. Mondrian posiada bazę danych z informacjami, które mogą przydać się w analizie biznesowej. Oczywiście możemy podłączyć własną bazę i przeprowadzać analizy w innym zakresie. Wszyscy, którzy chcieliby trochę poeksperymentować ze zgłębianiem danych, mogą zaopatrzyć się w jedną z wielu baz danych do tego przeznaczonych i oferowanych bezpłatnie w Internecie przez Machine Learning Repository, Uniwersystet Kalifornii, Irvine: http://archive.ics.uci.edu/ml/. Dostępnych jest tam bardzo wiele przykładów pochodzących z najprzeróżniejszych dziedzin. Znajdą się tutaj przykłady, które mogą zainteresować astronomów, ekonomistów, chemików czy też genetyków, jak np. system badania kolejności genów promotora E. coli (DNA) z włączoną wadliwą teorią domeny (Listing 4). Warto zauważyć, że w tradycyjnych OLAP nakierowanych najczęściej na biznes, staramy się podsumować zestawy liczb. W biologii dane, które uzyskujemy, często są danymi nienumerycznymi.
Załóżmy, że jesteśmy zainteresowani podsumowaniem zestawu sekwencji białkowych. Zwykle te sekwencje są reprezentowane jako ciągi liter i dlatego istnieje kilka sposobów na racjonalne podsumowanie takich grup sekwencji. W celu obsługi danych przestrzennych w biologii mamy dwa podstawowe wymagania: •
•
potrzebujemy własnych funkcji sumowania.
Dla każdego z tych białek mamy adnotacje opisujące ich funkcję i taksonomię. Możemy skorzystać z tych adnotacji jako wymiary sześcianu i określić funkcje agregacji. Więcej przykładów można odnaleźć także w bazach iProClass. musimy być w stanie zdefiniować no- ftp://ftp.pir.georgetown.edu/databases/. we funkcje agregacji, które można podDostępna jest tam baza danych, któsumować w grupy nienumeryczne; ra zawiera ponad 2 mln. sekwencji białko-
Rysunek 20. Weka Explorer
Rysunek 18. Weka CLI
Rysunek 19. Weka GUI Chooser
Rysunek 21. Explorer z załadowanymi przykładowymi danymi
www.lpmagazine.org
61
Bazy danych Technologie OLAP i Data Mining wych z adnotacjami, np. domen białkowych itp. Wszystkie te adnotacje są potencjalnie przydatne jako wymiary sześcianu. Przykład użycia jednej z baz iProClass w OLAP Mondrian (Rysunek 17).
MDX MDX (Multidimensional Expressions) jest wyspecjalizowanym podzbiorem języka SQL, przeznaczonym dla zapytań dotyczących kostek OLAP. Składnia jest podobna do standardowej składni SQL, obejmując słowa kluczowe takie jak SELECT, WHE-
RE i FROM. Przykład składni MDX: SELECT; {([Measures].[Unit Sales])} ON COLUMNS; {([TIME].[1997])} ON ROWS; FROM SALES.
Rozszerzenia MDX pozwalają na dostosowanie procesów OLAP do specyficznych wymagań. Rozwiązanie problemów przetwarzania danych w hurtowni danych nie jest możliwe wyłącznie za pomocą narzędzi
OLAP. Dla uzyskania oczekiwanych rozwiązań konieczne jest uzupełnienie przez rozszerzenia MDX. Podstawowymi blokami MDX są zestawy elementów formujące składnię łączenia i osadzania obiektów bazy danych dla OLAP. Elementy te umożliwiają utworzenie zestawu danych stosownie do potrzeb. Zestaw danych stanowią informację zwracane przez serwer OLAP z zapytania MDX. Podstawowymi składowymi deklaracji MDX są liczby, łańcuchy, elementy, ciągi i zestawy. •
•
•
• Rysunek 22. Zbiór wszystkich wizualizacji danych
•
•
liczba w MDX może być liczbą każdego typu. Proces tworzenia nowych liczb na podstawie istniejących jest nazywany kompozycją. Wyrażenie kompozycji są normalnymi operacjami matematycznymi na liczbach; łańcuch MDX jest sekwencją znaków, mogącą posiadać format przypisany im w środowisku klienta; elementem MDX jest wartość atrybutu należącego do wymiaru. MDX posiada zestaw deklaracji zwanych wyrażeniami członkowskimi, które mogą być używane w operacjach na każdym z elementów do wymiaru. Wyrażenia członkowskie zawsze zwracają inny element wymiaru lub zero i pozwalają na przesuwanie się po całej hierarchii wymiaru strukturalnego; ciąg jest to zbiór elementów z różnych wymiarów, przy czym każdy wymiar może mieć w tym zbiorze tylko jeden element. Reprezentuje on unikalna pozycję na osi kostki, zawierającą wiele elementów; zestaw MDX jest zbiorem elementów ciągów. Zbiór ten może być zestawem elementów z tego samego wymiaru lub z różnych wymiarów. Zestaw obejmuje zawartość osi kostki; deklaracja MDX może zawierać wyrażenia przypisania, wyrażenia członkowskie i funkcje matematyczne.
W celu zwrócenia danych przez deklarację MDX musi ona zawierać dwa elementy: • •
W zapytaniu MDX musi być określona co najmniej jedna oś. W większości przypad-
Rysunek 23. Inny przykład wizualizacji danych
62
nazwę kostki lub kostek dla pobrania danych; liczbę osi MDX, zawierających elementy z jednego lub więcej ustanowionych ciągów.
marzec 2009
Bazy danych Technologie OLAP i Data Mining ków są to dwie osie, które określamy jako Zapytanie należy zmodyfikować tak jak osie kolumn i wierszy. na Listingu 6. Zmiana spowoduje, że wymiar CustoPytanie : mers jest zagnieżdżony w wymiarze Time, a wymiar Products jest zagnieżdżony SELECT; w wymiarze Customers, co daje już prawi{([MEASURES].[Unit Sales])} ON dłowy wynik. COLUMNS; Identyfikacja określonej informacji jest {([Time].[1997]),([Time].[1998] pracochłonna. Użytkownik przegląda dane )} ON ROWS; i może wybrać wartość do rozwinięcia, tak FROM Sales. jak w poniższym przykładzie sprzedaż na-
pojów dla klientów w USA (Listing 7). Wymiary przekrojów umożliwiają widok przekroju danych kostki. Generalnie przy wykonywaniu przekrojów wszystkie wymiary oprócz jednego są stałe. Z punktów kostki pobierane są wartości jednej lub więcej miar. Jeśli kostka posiada trzy osie i wykonujemy przekrój po jednej z nich, to wszystkie punkty przekroju będą stałe dla dwóch wymiarów. Operacja przekroju stosuje klauzulę WHERE, która różni się od
Nawiasy {} używane są tutaj do ograniczania przypisań. Nawiasy [ ] stosuje się dla każdego poziomu elementu. Brak nawiasów powoduje, że usługi OLAP próbują ustalić ich domniemane położenie, co często daje komunikaty błędów. Miary są umieszczone we własnym wymiarze o nazwie MEASURES. Przy pomocy tego wymiaru można uzyskać dostęp do każdej miary kostki. Kropka jako operator pozwala na wskazanie, z którego wymiaru pochodzi element. W ten sposób można stosować takie same nazwy w różnych wymiarach. Usunięcie kropki i nazwy wymiaru jest możliwe w przypadku gdy wszystkie nazwy będą unikalne. W pytaniu tym znajdują się dwa ciągi wierszy: [Time].[1997] i [Time].[1998], każdy z jednym elementem – samym sobą. Słowo From zostało użyte do określenia nazwy kostki, z której pochodzą dane. Następne pytanie umożliwi nam uzyskanie odpowiedzi jak kształtowała się Rysunek 24. Zbiór macierzy punktów przedstawiających różne wizualizacje sprzedaż za rok 1997. SELECT; {([Measures].[Unit Sales])} ON COLUMNS; {([Time].[1997])} ON ROWS; FROM Sales.
Modyfikując powyższe pytanie można np. zgłębiać miesiące: SELECT; {([Measures]. [Unit Sales])} ON COLUMNS; {([Time].[1997].[Q1].[1])} ON ROWS; FROM Sales.
Poniższe pytanie umożliwia uzyskania wyniku sprzedaży dla wszystkich klientów w USA i Kanady, którzy kupili produkty z kategorii Food (Listing 5). Puste rekordy dla Kanady związane są z próba przeglądania nieistniejących rekordów. Serwer w takim przypadku nie zwraca Rysunek 25. Inny przykład tzw. Scatterplots błędu, zwraca jedynie zero.
www.lpmagazine.org
63
Bazy danych Technologie OLAP i Data Mining w SQL. W MDX definiuje ona, które wymiary są utrzymywane jako stałe oraz wartości dla tych wymiarów (Listing 8). Klauzula WHERE w powyższym pytaniu powoduje utrzymanie stałej wartości wymiaru Customer jako WA i wymiaru Time jako 1997. W rezultacie otrzymujemy Unit Sales mierzone na wszystkich wartościach Product Category dla klientów w WA, w roku 1997. MDX umożliwia także definiowanie nowych elementów w oparciu o istniejące miary lub wymiary kostki. W ten spoWHERE
sób można na przykład utworzyć nową miarę kalkulowaną zysku z istniejących miar sprzedaży i kosztów, przy użyciu klauzuli MDX WITH. Format klauzuli jest następujący: WITH MEMBER nazwa1.nadrzędny1 AS ‘wyrażenie1’;
kulowany dla zysku ma postać jak na Listingu 9. W celu ustalenia sprzedaży, kosztów i zysku sklepu za 1997 i 1998 oraz różnicy zysku w tych dwóch latach należy użyć pytania z Listingu 10.
Weka – Data Mining
Nikt nie rodzi się eksploratorem danych. Aby zdobyć i powiększyć doświadczenie analityka, należy przyswoić sobie podstaZysk jest równy sprzedaży, minus kosz- wowe umiejętności. Następnie potrzebne ty. Zapytanie tworzące nowy element kal- są nadające się do eksploracji dane, a także sposób na zmierzenie ważnych cech zjawiska. W tym celu należy skorzystać z odpowiednich narzędzi, takich jak Weka Data Mining. Weka jest to aplikacją, która posiada duży zbiór algorytmów Data Mining. Weka zawiera narzędzia do wstępnego przetwarzania danych, klasyfikacji, regresji, grupowania, zasad zrzeszania, oraz wizualizacji danych. Może być także wykorzystana do tworzenia systemów uczących się. System rozprowadzany jest na licencji GNU, a jest napisany w języku Java. W obsłudze programu mamy możliwość wyboru pomiędzy interfejsem wiersza poleceń (CLI) (Rysunek18) lub graficznymi narzędziami Experimenter, Explorer i Weka Knowledge. Na początek zalecam zapoznać się z Explorer’em. Uruchamiamy program Weka GUI Chooser (Rysunek 19) i po kliknięciu na Explorer zobaczymy główną stronę Explorera (Rysunek 20). Rysunek 26. Pierwszy przykład podglądu w zbliżeniu wykresów punktowych Na początku wszystkie pola są jeszcze puste. Mamy tutaj kilka możliwości wyboru, ale zanim będzie można pracować [MEMBER nazwa 2.nadrzędny2 AS ‘wyrażenie2’, ...].
Rysunek 28. Wybór filtra
Rysunek 27. Inna forma zbliżonego scatterplots
64
marzec 2009
Bazy danych Technologie OLAP i Data Mining z konkretnymi danymi, należy je załadować do programu Weka. Do programu zostały dołączone pliki z przykładowymi danymi, które pozwolą zapoznać się z funkcjonalnością całego systemu. Zacznijmy od otworzenia pliku z danymi (Open file...) Przechodzimy do katalogu data i tutaj mamy zbiór gotowych danych. Wybierzmy jakiś gotowy przykład, np. soybean.arff (Rysunek 21). Jak widać, program dostarcza nam trochę informacji na temat danych, takich jak na przykład liczne przypadki, liczby atrybutów, a także kilka informacji statystycznych na temat atrybutów. Istnieje szereg metod, za pomocą których można użyć Weka do wizualizacji danych. Na ekranie głównym zostanie przedstawiony histogram dla jednego atrybutu Rysunek 29. Zakładka Select Attributes dystrybucji, domyślnie jest to atrybut klasy. Należy pamiętać, że poszczególne kolory wskazują poszczególne klasy. Przycisk Visualize All pozwoli nam pokazać na ekranie wszystkie dystrybucje, które są dostępne (Rysunek 22 i 23). Mamy jeszcze jedną możliwość wizualizacji poprzez zakładkę Visualize.. Kliknięcie na tę zakładkę otworzy tzw. scatterplots (macierze punktowe) dla wszystkich par atrybutów (Rysunek 24 i 25). Możemy z prezentowanych tutaj zestawień wywnioskować kilka ciekawych rzeczy. Na przykład na powyższym obrazku widać, że w niektórych zestawieniach punktów różne kolory odpowiadają sobie wzajemnie, na przykład w odniesieniu do Rysunek 30. Zakładka Classification określonych klas. Domyślnie kolory wskazują różne klasy, w tym przypadku użyliśmy brązowego i dwa odcienie niebieskiego. Klikając lewym przyciskiem myszy na każdej z wyróżnionych klas, mamy możliwość ustawienia własnego koloru dla klas. Również domyślnie kolor jest stosowany w połączeniu z atrybutem klasy, ale może być użyteczny dla innych kolorów oraz atrybutów. Mamy także możliwość podglądu wybranych komórek w dużym zbliżeniu (Rysunek 26 i 27). Program posiada szereg dostępnych filtrów, które stosują różne kryteria pozwalające wybierać albo obiekty (wiersze w macierzy danych),albo atrybuty (kolumny w macierzy danych). Dzięki temu można odrzucić część matryc danych bez konieczności manipulowania na oryginalnym pliku danych. Na przykład można odrzucić wybrane wiersze: normalize lub discretize atttributes i tak dalej. Aby zastoso- Rysunek 31. Zakładka Clustering
www.lpmagazine.org
65
Bazy danych Technologie OLAP i Data Mining wać filtr, musimy najpierw wybrać rodzaj filtra, klikając na przycisk Choose Filters z prawej strony na głównym pulpicie. Wybieramy folder z filtrami i rozwijamy listę dostępnych pozycji. Następnie możemy wybrać z dostępnej listy filtr, który będzie nas interesował (Rysunek 28).
Zakładka Select Attributes
tu znacznika, aby otworzyć GUI, które pozwoli wybrać zarówno metody oceny (podstawowe komponenty, takie jak na przykład analiza) oraz metody wyszukiwania (Rysunek 29). Należy mieć świadomość, że nie wszystkie oceny i metody mogą być prawidłowe, należy przeglądać komunikaty o błędach, które dostępne są w logach (przycisk Log).
naszych danych. Mamy tutaj 4 opcje, pozwalające w różny sposób przetestować model danych (Rysunek 30).
Zakładka Clustering Mamy tutaj grupowanie (klastrowanie). Opcja jest bardzo podobna do klasyfikacji, z kilkoma różnicami w zakresie wybierania opcji. Na przykład, istnieje możliwość prostego odrzucania niepożądanych atrybutów (Rysunek 31).
Weka przewiduje również techniki odrzucania nieistotnych atrybutów lub zmniejsze- Zakładka Classification nia wymiarowości danych. Po załadowa- Otwarcie menu z możliwością wyboru klaniu danych, kliknij przycisk wyboru atrybu- syfikatora, który ma być zastosowany do Zakładka Associate Weka oferuje trzy algorytmy pozwalające wyodrębniać z danych nieliczbowych, jak to pokazano na rysunku poniżej (Rysunek 32).
Program Experimenter
Experimenter można uruchomić zarówno z linii poleceń oraz jako łatwiejszy w użyciu program graficzny. Jest to narzędzie, które pozwala wykonywać więcej niż jeden eksperyment w tym samym czasie. Może stosować różne techniki do analizy danych lub tej samej techniki tylko że z różnymi parametrami (Rysunek 33). Po wybraniu opcji New, która inicjuje nowy eksperyment z domyślnymi parametrami, możemy wybrać, gdzie mają być przechowywane wyniki eksperymentu. Następnie można zmienić domyślne parametry w razie potrzeby (należy zwrócić uwagę na możliwość wyboru klasyfikacji lub regresji). Na przykład, można dodać więcej danych, usunąć te już wybrane, a także dodawać i usuwać algorytmy stosowane w odniesieniu do wybranych danych. Można również wybrać rodzaj eksperymentu (cross zatwierdzanie lub procentowo podzielony na szkolenie i test zestawu) (Rysunek34). Po uruchomieniu eksperymentu wyniki będą przechowywane w określonych przez nas plikach. Oczywiście, gdy eksperyment został uruchomiony i jego wynik był udany. Następnie można taki plik załadować do analizatora Weka, aby zobaczyć swoje wyniki. Poniżej została przedstawiona gotowa analiza przykładowego eksperymentu (Rysunek 35).
Rysunek 32. Zakładka Associate
Program Knowledge Flow
Knowledge Flow jest alternatywnym pakietem funkcji dostarczanym wraz z programem Weka Data Mining. Dostępne są tutaj dodatkowe funkcje, które nie są obsługiwane przez eksperymentatora (Rysunek 36).
Podsumowanie
Przy wykorzystaniu technologii OLAP i Data Mining wyłania się użytkownikom kom-
Rysunek 33. Program Experimenter
66
marzec 2009
Bazy danych Technologie OLAP i Data Mining pletny obraz sytuacji, dzięki któremu infor- marketing, produkcja, logistyka, kadry), na formować w logiczną całość. Dokładne macje z wielu działów firmy (np. sprzedaż, które same w sobie są rozproszone, moż- liczenie kosztów poszczególnych wyrobów bądź usług oferowanych przez firmę stało się dzięki temu możliwe. Wiedza otrzymana za pomocą technik analizy przyjmuje postać reguł, prawidłowości czy też tendencji, która może być wykorzystana przy wspomaganiu podejmowania ważnych decyzji, np. do podniesienia jakości produkcji, wykrywania różnych nieprawidłowości, obsługi klientów, czy też do zwiększania przewagi konkurencyjnej. Człowiek ma naturalną skłonność do klasyfikowania przedmiotów według cech wspólnych. Nasze mózgi rozwiązują skomplikowane problemy rozkładając je na mniejsze. Tak samo działają opisane w tym artykule systemy. Odpytywanie tabeli liczącej milion wierszy w celu uzyskania całkowitej sumy Rysunek 34. Program Experimenter zainicjowany do przeprowadzania eksperymentów będzie trwać znacznie dłużej niż odpytanie kilkuset wierszy tabeli podsumowującej. Opisane metody umożliwiają prognozowanie, szukanie powiązań, klasyfikacji, grupowanie i opisywanie przyszłych trendów i zachowań. Tworzą czytelne reprezentacje wiedzy wydobytej z danych w postaci m.in. wykresów, wzorców, reguł i tabel. Eksplorację czy jak to woli zgłębianie danych można wykorzystać m.in. do badania danych w e-biznesie, do rozpoznawania obrazu, do wspomagania diagnostyki medycznej, badaniach genetycznych, badaniach ryzyka kredytowego i wielu innych. Eksploracja umożliwia nam wyszukiwanie niezauważalnych prawidłowości i Rysunek 35. Analiza eksperymentu powiązań. Wynikiem tego typu analiz mogą być konkretne zbiory danych, które mogą być wykorzystane w procesach decyzyjnych.
O autorze Autor jest informatykiem, członkiem zespołu naukowego do opracowania, przygotowania i wdrożenia w archiwach państwowych Zintegrowanego Systemu Informacji Archiwalnej, który jest pierwszym systemem informatycznym, tworzonym przez administrację rządową w Polsce, opartym w całości na tzw. otwartym oprogramowaniu. Autor zajmuje się Linuksem od ponad 12 lat. Hobby informatyczne to systemy IBM z/OS, OS/400, AIX i SAP R/3. Kontakt z autorem:
[email protected]
Rysunek 36. Program Knowledge Flow
www.lpmagazine.org
67