Eksploracja danych “Drążymy informację ale zbieramy wiedzę” - słowa Johna Naisbett’a, motto z książki “Advances in knowledge discovery and data mining”
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
Nowe wyzwania Ekspotencjalny wzrost ilości danych Stara prawda: im więcej danych tym mniej informacji Poszukiwanie igły w stogu siana
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)
Przykład segmentacji
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.
Cztery typy wiedzy
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
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
Kroki tworzenia środowiska KDD
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
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
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
10 złotych reguł tworzenia KDD (1/2) 1) Wsparcie dla bardzo dużych wolumenów danych 2) Wsparcie dla hybrydowych algorytmów uczących 3) Hurtownia danych 4) Wdrożenie algorytmów czyszczenia danych 5) Umożliwienie dynamicznego kodowania (eksperymentów z modelem)
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
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
Przykład dzień aura temperatura wilgotność wiatr grać ? d1 słoneczna gorąco wysoka słaby nie d2 silny d3 pochmurna tak d4 deszczowa średnio d5 zimno normalna d6 d7 d8 d9 d10 d11 d12 d13 d14
Przykład prostego drzewa decyzyjnego dla stanów pogody do podjęcia decyzji o rozpoczęciu gry w golfa (1) lub tenisa ziemnego (0). Drzewa decyzyjne dobrze nadają się do uwzględniania niepewności którą mogą zawierać przeszukiwane dane.
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
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
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ą
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
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.