Data Mining podstawy analizy danych Część druga



Podobne dokumenty
Data Mining podstawy analizy danych Cześć pierwsza. Wprowadzenie

Usługi analityczne budowa kostki analitycznej Część pierwsza.

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

Baza danych dla potrzeb zgłębiania DMX

Przykładowa baza danych BIBLIOTEKA

Bazy danych. dr inż. Arkadiusz Mirakowski

Usługi analityczne podstawy budowy kostki analitycznej Część druga - zarządzanie

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Intellect. Business Intelligence. Interfejsy do systemów zewnętrznych Podręcznik. Business Intelligence od 2Intellect.com Sp. z o.o.

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

Laboratorium 4. Naiwny klasyfikator Bayesa.

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Zarządzanie projektem informatycznym laboratorium

Przydatne sztuczki - sql. Na przykładzie postgres a.

Bazy danych 6. Klucze obce. P. F. Góra

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

DECLARE VARIABLE zmienna1 typ danych; BEGIN

E-book: Automatyzacja powiadomień SMS. CASE STUDY

Operacja PIVOT w języku SQL w środowisku Oracle

Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych

cstore 3.2 Integracja z serwisem Allegro.pl Instrukcja użytkownika

DARMOWA PRZEGLĄDARKA MODELI IFC

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

W prawym górnym rogu widoczna jest nazwa zalogowanego użytkownika.

3. Budowa prostych raportów opartych o bazę danych

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

Praca z wynikami w ALOORA

LAB 3 (część 1 Projektu)

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Załącznik nr 6.2. Przykładowy projekt graficzny interfejsu użytkownika aplikacji mobilnej

Sposoby prezentacji problemów w statystyce

Kowalski Marcin Wrocław, dn Jaśkiewicz Kamil Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Administracja i programowanie pod Microsoft SQL Server 2000

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

6.4. Efekty specjalne

Numeracja dla rejestrów zewnętrznych

Instrukcja obsługi xserver

Baza danych Uczniowie.mdb

15. Funkcje i procedury składowane PL/SQL

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

PODYPLOMOWE STUDIA ZAAWANSOWANE METODY ANALIZY DANYCH I DATA MINING W BIZNESIE

TOPWEB Microsoft Excel 2013 i PowerBI Przygotowanie danych, analiza i efektowna prezentacja wyników raportów

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Język SQL podstawy zapytań

Systemy uczące się Lab 4

Wdrożenie modułu płatności eservice. dla systemu Magento

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b

Programowanie MorphX Ax

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Co nowego w wersji 3.10 programu Kancelaris

ANALYSIS SERVICES. 1. Tworzymy połączenie ze źródłem danych. 2. Tworzymy nowy widok dla źródła danych

Laboratorium 6. Indukcja drzew decyzyjnych.

Business Intelligence

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Konfiguracja IPSec Brama IPSec w Windows 2003 Server

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Kadry i Płace Rekrutacja nowe rozwiązanie w systemie Streamsoft Prestiż

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

CRM VISION FUNKCJE SYSTEMU

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Konfiguracja i obsługa modułu Service Desk

10. Statystyki. WAŻNE! Raporty i statystyki salonu tworzone są wyłącznie w oparciu o zakończone wizyty.

INFORMATOR TECHNICZNY WONDERWARE. Odczytywanie danych z arkusza Excel za pomocą zapytań SQL do aplikacji InTouch

Trwały nośnik w T-Mobile Usługi Bankowe. Opis rozwiązania dla zapewnienia elektronicznym dokumentom publicznym postaci trwałego nośnika

Połączenie AutoCad'a z bazą danych

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Tworzenie zespołu. Laboratorium Technik Komputerowych I, Inventor, ćw. 4. Wstawianie komponentów i tworzenie wiązań między nimi.

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN. Instrukcja do ćwiczeń laboratoryjnych z elementów analizy obrazów

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o.

Kreowanie i analizowanie eksperymentów pełnoczynnikowych w programie Minitab. Osoba kontaktowa: Katarzyna Kornicka Telefon:

Laboratorium 5. Adaptatywna sieć Bayesa.

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

Prezentacja i udostępnianie wyników sprzedaży drewna. Ver. 01

Kostki OLAP i język MDX

Trwały nośnik w Alior Bank

Rola analityki danych w transformacji cyfrowej firmy

Uwaga: szarych kropek po pokolorowaniu nie uwzględniaj w klasyfikowaniu kolejnych szarych.

Wykład :45 BD-1 W_3

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Autor: Joanna Karwowska

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Dokumentacja użytkownika systemu

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Zapytania i wstawianie etykiet z bazy danych do rysunku

Struktura drzewa w MySQL. Michał Tyszczenko

Transkrypt:

Data Mining podstawy analizy danych Część druga W części pierwszej dokonaliśmy procesu analizy danych treningowych w oparciu o algorytm drzewa decyzyjnego. Proces analizy danych treningowych może być realizowany przez różne algorytmy. W takim razie możemy sobie zadawać pytanie: czy analiza danych przy pomocy różnych algorytmów da takie same wyniki czy też będą rozbieżności? A tym samym pojawiają się dalsze pytania: - Czy wybrany przez nas algorytmy jest prawidłowy? - Czy prezentacja danych jest zgodna z naszymi oczekiwaniami? Aby odpowiedzieć sobie na te pytania możemy wykonać szereg analiz przy pomocy różnych algorytmów a następnie porównać efekty ich działania z danymi sprawdzającymi (weryfikacja algorytmów). W SQL2005 istnieje możliwość realizacji wielu analiz przy pomocy wielu algorytmów w jednym projekcie. Oprócz popularnego algorytmu drzewa decyzyjnego będący w istocie jednym z algorytmów klasyfikujących bardzo popularny algorytmem jest naiwny klasyfikator Bayes (naive Bayes). Właśnie w naszym projekcie zastosujemy ten drugi algorytm do porównania wyników. Proces analizy danych przy pomocy innych algorytmów, może wymagać przekształcenia niektórych typów danych. Wynika to z faktu, iż niektóre z algorytmów np. Klasyfikator Bayes a wymagają danych zdefiniowanych przedziałowych. Przykładem, w naszym przypadku są dochody roczne, które mogą przyjmować dowolne wartości. Aby można wykorzystać te dane należy zdefiniować skończoną liczbę przedziałów. W procesie przekształcenia typów danych, możemy wykorzystać właściwości modelu analitycznego, a w szczególności widoku źródeł danych, gdzie typ danych, możemy w prosty sposób dopasować do wymagań algorytmu. W naszym przypadku rozbudujemy mechanizmy związane z widokiem źródła danych o dodatkową kolumnę, zawierająca dyskretne dane dotyczące przychodów rocznych oraz wieku naszych klientów. Pozostałe, niepasujące dane do tego algorytmu zignorujemy.

Rys 1. Definicja danych przedziałowych. Efektem przygotowania powyższych danych jest możliwość zdefiniowania modelu analizy opartego na procesach analizy klasyfikatorem Bayes a, włączając typy danych określone jako przedziałowe. Rys 2. definicja modelu analizy danych opartego o klasyfikator Bayes a Każdy z algorytmów ma specyficzny sposób prezentacji danych. W przypadku drzewa decyzyjnego była to architektura drzewiasta. W przypadku klasyfikatora Bayes a są to wykresy pokazujące zależności pomiędzy wartościami wejściowymi i wartością predykcji charakterystyka cech oraz charakterystyka dyskryminacji poszczególnych parametrów wejściowych. Podobnie jak przypadku drzewa decyzyjnego, mamy również zaprezentowane mechanizmy zależności w postaci sieci zależności Dependenci Network.

Rys 3. Wykres pokazujący prawdopodobieństwo wpływy danej cechy na podjęcie decyzji o zakupie roweru w algorytmie Bayes a. Etap drugi predykcja danych i weryfikacja danych Proces analizy danych treningowych pozwala uzyskać informację o zależnościach między danymi wejściowymi a parametrem analizowanym. W tym przypadku realizujemy operacje post factum mamy odpowiedź w naszych zbiorach danych a jedynie analizujemy ich zależność. Kolejnym krokiem w procesie analizy danych jest predykacja danych. W tym przypadku mamy tylko dane wejściowe a nie posiadamy odpowiedzi, w jaki sposób to wpłynie na wartość oczekiwaną. W naszym projekcie możemy to sobie wyobrazić, że zamierzamy sprzedawać rowery w nowej lokalizacji. Zebraliśmy podobne informacje o naszych potencjalnych klientach. Na podstawie tychże danych zamierzamy ocenić możliwości sprzedaży rowerów poszczególnym klientom. W celu realizacji naszego projektu wykorzystamy skrypt tworzący widok z określonymi danymi: /****** View [dbo].[vdmlabcustomerpredict] ******/ CREATE VIEW [dbo].[vdmlabcustomerpredict] AS SELECT c.[customerkey], c.[firstname], c.[lastname], CASE WHEN Month(GetDate()) < Month(c.[BirthDate]) THEN DateDiff(yy,c.[BirthDate],GetDate()) - 1 WHEN Month(GetDate()) = Month(c.[BirthDate]) AND Day(GetDate()) < Day(c.[BirthDate]) THEN DateDiff(yy,c.[BirthDate],GetDate()) - 1 ELSE DateDiff(yy,c.[BirthDate],GetDate()) END AS [Age], c.[maritalstatus], c.[gender], c.[yearlyincome], c.totalchildren, c.[numberchildrenathome], CASE c.[houseownerflag] WHEN 0 THEN 'No' ELSE 'Yes' END as HouseOwner, c.[numbercarsowned], g.englishcountryregionname, c.[commutedistance] As Commute, CASE x.[bikes] WHEN 0 THEN 'No' ELSE 'Yes'

go END AS [BikeBuyer] FROM [dbo].[dimcustomer] c INNER JOIN ( SELECT [CustomerKey],[Region],[Age],Sum( CASE [EnglishProductCategoryName] WHEN 'Bikes' THEN 1 ELSE 0 END) AS [Bikes] FROM [dbo].[vdmprep] GROUP BY [CustomerKey],[Region],[Age] ) AS [x] ON c.[customerkey] = x.[customerkey] join dimgeography g on c.geographykey = g.geographykey Proces predykcji rozpoczynamy od odpowiedniego skonfigurowania widoku źródeł danych, dołączając zdefiniowany widok. Rys 4. Dołączenie do projektu widoku do analizy predykcji

Możemy w teraz przystąpić do predykcji dołączonego zbioru danych. Oczywiście predykcję danych możemy zrealizować przy pomocy jednego z wcześniej zdefiniowanych algorytmów: drzewa decyzyjnego bądź klasyfikatora Bayes a. Na zakładce data mining prediction definiujemy mechanizmy predykcji danych: W pierwszej kolejności musimy określić dane wejściowe do predykcji opcja select case table pozwala wskazać wcześniej zdefiniowany widok. Następnie wskazujemy przy pomocy opcji select model wybieramy odpowiedni model analityczny w naszym wypadku skorzystamy z algorytmu wykorzystującego drzewo decyzyjne. Kolejnym krokiem jest wskazanie odpowiadających sobie pól w modelu i tabeli wyboru. W przypadku, gdy nazwy pól w tabeli są identyczne, kreator budowy modelu predykcji automatyczne powiąże odpowiednie pola. W naszym przypadku wystarczy jedynie zweryfikować wskazane powiązania. Rys 5. Definicja modelu predykcji danych Ponadto poniżej zdefiniujemy pola jakie chcemy przeglądać w efekcie predykcji danych. Zwracam tutaj uwagę, że cały proces analizy danych oparty jest o metody statystyczne. W związku z tym, istnieje możliwość wykorzystania wbudowanych funkcji statystycznych do prezentacji np. prawdopodobieństwa trafności analizy danych. W naszym przypadku wykorzystamy funkcję predict() aby zobrazować tę informację. Ponadto w procesie analizy danych uzyskamy informację o identyfikatorze klienta oraz jego nazwisku. Dodatkowe pola, znajdujące się w tabeli wejściowej mogą być również wykorzystywane w procesie predykcji. Zdefiniowany model predykcji, przy pomocy interfejsu graficznego, może być również zrealizowany przy pomocy języka DMX (Data Mining Expression): SELECT (t.[customerkey]) as [Identyfikator Klienta],

([DMCustomer_DT].[Bike Buyer]) as [Czy kupi?], (PredictProbability([DMCustomer_DT].[Bike Buyer])) as [Prawdopodobienstwo], (t.[lastname]) as [Nazwisko] From [DMCustomer_DT] PREDICTION JOIN OPENQUERY([Adventure Works DW], 'SELECT [CustomerKey], [LastName], [Age], [MaritalStatus], [Gender], [YearlyIncome], [NumberChildrenAtHome], [HouseOwner], [NumberCarsOwned], [EnglishCountryRegionName], [Commute], [BikeBuyer] FROM [dbo].[vdmlabcustomerpredict] ') AS t ON [DMCustomer_DT].[Age] = t.[age] AND [DMCustomer_DT].[Marital Status] = t.[maritalstatus] AND [DMCustomer_DT].[Gender] = t.[gender] AND [DMCustomer_DT].[Yearly Income] = t.[yearlyincome] AND [DMCustomer_DT].[Number Children At Home] = t.[numberchildrenathome] AND [DMCustomer_DT].[House Owner] = t.[houseowner] AND [DMCustomer_DT].[Number Cars Owned] = t.[numbercarsowned] AND [DMCustomer_DT].[English Country Region Name] = t.[englishcountryregionname] AND [DMCustomer_DT].[Commute] = t.[commute] AND [DMCustomer_DT].[Bike Buyer] = t.[bikebuyer] Efektem predykcji danych jest tabela pokazująca szukane zależności.

Rys 6. Efekt predykcji danych Z uzyskanych wyników możemy stwierdzić, że klient Huang z prawdopodobieństwem 0,6165 zakupi rower. Jak wcześniej wspomnieliśmy, wybrany przez nas model analizy (drzewo decyzyjne), niekoniecznie musi być najlepszym algorytmem do rozwiązania naszego problemu. Wobec tego pojawia się pytanie, czy wybór innego algorytmu nie pozwoliłby osiągnąć lepszych efektów? Ostatnim elementem analizy danych jest ocena jakości algorytmu. Możemy to przedstawić w następujący sposób: Po kilku miesiącach od rozpoczęcia sprzedaży rowerów w nowej lokalizacji, uzyskaliśmy informację o faktycznej sprzedaży rowerów. Należałoby teraz porównać przewidywaną sprzedaż przez poszczególne algorytmy z faktycznymi danymi. W tym celu zdefiniujemy trzeci widok, będący danymi o faktycznej sprzedaży rowerów. /****** View [dbo].[vdmlabcustomervalidate] ******/ CREATE VIEW [dbo].[vdmlabcustomervalidate] AS SELECT c.[customerkey], c.[firstname], c.[lastname], CASE WHEN Month(GetDate()) < Month(c.[BirthDate]) THEN DateDiff(yy,c.[BirthDate],GetDate()) - 1 WHEN Month(GetDate()) = Month(c.[BirthDate]) AND Day(GetDate()) < Day(c.[BirthDate]) THEN DateDiff(yy,c.[BirthDate],GetDate()) - 1 ELSE DateDiff(yy,c.[BirthDate],GetDate()) END AS [Age],

go c.[maritalstatus], c.[gender], c.[yearlyincome], c.[numberchildrenathome], CASE c.[houseownerflag] WHEN 0 THEN 'No' ELSE 'Yes' END as HouseOwner, c.[numbercarsowned], g.englishcountryregionname, c.[commutedistance] As Commute, CASE x.[bikes] WHEN 0 THEN 'No' ELSE 'Yes' END AS [BikeBuyer] FROM [dbo].[dimcustomer] c INNER JOIN ( SELECT [CustomerKey],[Region],[Age],Sum( CASE [EnglishProductCategoryName] WHEN 'Bikes' THEN 1 ELSE 0 END) AS [Bikes] FROM [dbo].[vdmprep] GROUP BY [CustomerKey],[Region],[Age] ) AS [x] ON c.[customerkey] = x.[customerkey] join dimgeography g on c.geographykey = g.geographykey Podobnie, jak w przypadku predykcji danych, również w tym przypadku podłączamy zdefiniowany dane do widoku źródła danych.

Rys 7. Rozbudowa widoków źródła danych Następnie w modelu analizy danych w zakładce Mining accuracy chart wybieramy tabelę [dbo].[vdmlabcustomervalidate] jako tabelę wejściową. W naszym przypadku nie będziemy stosowali dodatkowych mechanizmów filtrujących. Wybieramy do procesu porównania oba modele predykcji. Rys 8. Porównanie trafności algorytmów Prezentowany wykres powyżej, pokazuje, że algorytm drzewa decyzyjnego znacznie lepiej przewiduje wyniki niż algorytm Bayes a. Dla 100 procent populacji przewidywana trafność wyników wyniosła ponad 72 procent. Dla algorytmy Bayes a wartość przewidywania wyniosła jedynie 64 procent. Na wykresie prezentowany jest również wykres idealnego algorytmu, gdy przewidywane jest 100 procent trafności. Microsoft SQL Server 2005 umożliwia realizację pełnego procesu analizę danych: począwszy od procesu analizy danych treningowych poprzez predykcję danych aż do procesu weryfikacji danych związanych z predykcją.

NetSystem Tomasz Skurniak CNI, CNE, MCT, MCSE, MCDBA, MCTS, MCITP Ul. J. Burszty 25, 61-422 Poznań E: Tomasz@Skurniak.pl W: www.protis.pl T: +48 601761013 F: +48 618308249