Eksploracja danych “Drążymy informację ale zbieramy wiedzę” słowa Johna Naisbett’a, motto z książki “Advances in knowledge discovery and data mining” 1 Odkrywanie wiedzy w bazach danych a Data Mining Data Mining (DM) czyli „przekopywanie danych” zajmuje się odkrywaniem ukrytej wiedzy, nieznanych wzorców i nowych reguł w dużych bazach danych. Knowledge discovery in databases (KDD) większy proces, którego częścią jest DM. KDD - praktyczne podejście wykorzystania informacji jako czynnika produkcji 2 Nowe wyzwania Ekspotencjalny wzrost ilości danych Stara prawda: im więcej danych tym mniej informacji Poszukiwanie igły w stogu siana 3 Zastosowania - przykłady Segmentacja klientów (np. dla celów reklamy) Wykrywanie serii czasowych Wykrywanie oszustw (odszkodowania, kredyty, itp.) Redukcja kosztów firmy (przewidywanie ścieżek rozwoju pracowników na podstawie danych historycznych) 4 Przykład segmentacji 5 Dlaczego nie zwykły SQL ? 80% informacji - SQL 20% informacji - ukryta wiedza wymagająca zaawansowanych technik Kluczem do KDD jest zrozumienie, że istnieje więcej informacji niż widać na pierwszy rzut oka. 6 Cztery typy wiedzy 7 Cztery typy wiedzy Powierzchowna - wystarczy SQL Wielowymiarowa - OLAP (szybciej) lub SQL (dużo dłużej) Ukryta - KDD (potrzebuje godzin) lub SQL (potrzeba miesięcy pracy) Głęboka - wymaga klucza (wiedzy) według którego wyszukujemy informacje 8 Kroki przygotowania środowiska KDD 1. Lista wymagań 2. Przegląd sprzętu i oprogramowania 3. Przegląd jakości dostępnych danych 4. Lista dostępnych baz danych 5. Jeśli istnieje hurtownia danych: jakie dane są dostępne? 6. Jakiej wiedzy oczekuje organizacja teraz i w przyszłości? 7. Identyfikacja grup decydentów w organizacji 8. Analiza przydatności wyszukiwanych informacji 9. Lista potrzebnych zmian w bazach danych 9 Kroki tworzenia środowiska KDD 10 Czyszczenie bazy danych „Zanieczyszczenie danych” pojawia się w bazie na wielu etapach. Najwięcej przy wprowadzaniu danych. Czyszczenie – usuwanie błędnych/ niepełnych rekordów – reorganizacja wprowadzania danych 11 Wzbogacanie danych Współpraca między firmami (uwaga na ochronę danych osobowych!), dane zagregowane o grupach klientów (nie zawierające danych osobowych) Dane demograficzne 12 Data Mining Nie istnieje jedyny i najlepszy algorytm uczenia maszynowego lub rozpoznawania wzorców DM wymaga: – skutecznej metody próbkowania – przechowywania wyników pośrednich – indeksów geometrycznych (do przeszukiwania sąsiedztwa punktu) lub indeksów bitmapowych 13 10 złotych reguł tworzenia KDD (1/2) 1) 2) 3) 4) 5) Wsparcie dla bardzo dużych wolumenów danych Wsparcie dla hybrydowych algorytmów uczących Hurtownia danych Wdrożenie algorytmów czyszczenia danych Umożliwienie dynamicznego kodowania (eksperymentów z modelem) 14 10 złotych reguł tworzenia KDD (2/2) 6) Integracja z system wspomagania decyzji 7) Elastyczna architektura 8) Wsparcie dla baz heterogenicznych i innych źródeł danych (pliki, bazy obiektowe itp.) 9) Wdrożenie architektury klient/serwer 10) Optymalizacja dostępu do b.d. na niskim poziomie 15 Drzewa decyzyjne węzły reprezentują testy przeprowadzane na atrybutach liście reprezentują etykiety kategorii przypisywane przykładom zaletami drzew decyzyjnych są m.in.: – możliwość reprezentacji dowolnych hipotez dla danego zbioru atrybutów – efektywność pamięciowa i czasowa klasyfikacji – czytelność reprezentacji 16 Przykład dzień aura temperatura wilgotność wiatr grać ? d1 słoneczna gorąco wysoka słaby nie d2 słoneczna gorąco wysoka silny nie d3 pochmurna gorąco wysoka słaby tak d4 deszczowa średnio wysoka słaby tak d5 deszczowa zimno normalna słaby tak d6 deszczowa zimno normalna silny nie d7 pochmurna zimno normalna silny tak d8 słoneczna średnio wysoka słaby nie d9 słoneczna zimno normalna słaby tak d10 deszczowa średnio normalna słaby tak d11 słoneczna średnio normalna silny tak d12 pochmurna średnio wysoka silny tak d13 pochmurna gorąco normalna słaby tak d14 deszczowa średnio wysoka silny nie 17 Przykład prostego drzewa decyzyjnego dla stanów pogody do podjęcia decyzji o rozpoczęciu gry w golfa (1) lub tenisa ziemnego (0). 18 Brakujące wartości w danych podczas uczenia się Pomijanie - usuwanie ze zbioru P przykładów, dla których badany atrybut jest nieznany Wypełnianie - brakujące wartości atrybutu a są wypełniane według jednej z zasad: najczęściej występująca wartość tego atrybutu w zbiorze P najczęściej występująca wartość tego atrybutu w zbiorze przykładów tej samej kategorii wartość ustalona na podstawie znanych wartości innych atrybutów 19 Brakujące wartości w danych podczas uczenia się Podział - zastąpienie przykładów z nieznaną wartością przykładami ułamkowymi dla różnych występujących w zbiorze P wartości. Losowanie - przykład z nieznaną wartością jest przydzielany losowo z prawdopodobieństwem proporcjonalnym do częstości występowania odpowiednich wartości w P Oddzielna gałąź - dla węzła gdzie testowany jest argument z nieznaną wartością tworzona jest dodatkowa gałąź zawierająca przypadki z odpowiadające nieznanemu wynikowi testu 20 Brakujące wartości w danych podczas klasyfikowania Oddzielna gałąź - jeśli przy tworzeniu drzewa została utworzona Wypełnienie - według jednej z wcześniej podanych zasad Klasyfikacja probabilistyczna - uwzględnia się wszystkie możliwe wyniki testów; wybiera się kategorię najbardziej prawdopodobną 21 Zalety drzew decyzyjnych możliwość reprezentacji dowolnych hipotez dla danego zbioru atrybutów efektywność pamięciowa i czasowa klasyfikacji łatwe do zrozumienia dla ludzi łatwe do wizualizacji szybkie w budowie i użyciu 22 Wady drzew decyzyjnych Testuje się jeden atrybut na raz, co powoduje niepotrzebny rozrost drzewa dla danych, gdzie poszczególne atrybuty zależą od siebie. Niższe węzły drzewa mają b. mało danych, co może prowadzić do przypadkowych podziałów. 23