Część 2: Data Mining
Transkrypt
Część 2: Data Mining
Łukasz Przywarty 171018 Wrocław, 18.01.2013 r. Grupa: CZW/N 10:00-13:00 Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych Część 2: Data Mining Prowadzący: dr inż. Henryk Maciejewski 1/6 1. Cel W ramach drugiego etapu należało wykonać modelowanie predykcyjne, którego celem jest sklasyfikowanie wiadomości przesyłanych pocztą elektroniczną jako spam lub nie-spam. Efektem realizacji tej części zajęć laboratoryjnych było zapoznanie z procesem Data Minning i metodologią SEMMA (Sampe – Explore – Modify – Model – Assess) oraz opanowanie umiejętności wykorzystania narzędzia SAS Enterprise Miner i podstaw programowania w SAS 4 GL (języka skryptowego do preprocesingu i analizy danych). 2. Klasyfikatory Podczas zajęć laboratoryjnych zbudowano model – klasyfikator wiadomości pocztowych opisanych atrybutami jak w danych wejściowych. Zmienna celu target przyjmuje wartość yes dla wiadomości spam lub no dla wiadomości, która nie jest pocztą niechcianą. Model został zbudowany według metodologii SEMMA. Całe drzewo zawierające różne algorytmy poszczególnych klasyfikatorów przedstawia rysunek 1. Rysunek 1: Klasyfikatory wiadomości pocztowych Dla wszystkich klasyfikatorów ustalono różne koszty decyzji i błędów. Przyjęte stałe przedstawiają tabele 1 oraz 2. Oprócz tego eksperymentowano z różnymi konfiguracjami algorytmów. Punkty od 2.1 do 2.7 prezentują najlepsze znalezione kombinacje. 2/6 Koszty decyzji 1 Koszty decyzji 2 Decision 1 YES 0,00 Decision 1 YES 1,00 Decision 2 NO 0,00 Decision 2 NO 0,00 Tabela 1: Koszty decyzji 1 Tabela 2: Koszty decyzji 2 2.1 Decision Tree a) Elementy - klasyfikator został zbudowany z następujących elementów: Input Data (SPAM) → Data Partition → Variable Selection → Principal Component → Decision Tree → Score → SAS Code b) Wyniki – rezultaty wykonanych klasyfikacji są zawarte w tabelach 3 oraz 4. Poprawna odpowiedź NO YES Odpowiedź klasyfikatora NO YES 882 3 99,66% 0,34% 43 510 7,78% 92,22% Tabela 3: Wyniki dla kosztów decyzji 1 Poprawna odpowiedź Odpowiedź klasyfikatora NO YES 885 0 100,00% 0,00% 553 0 100,00% 0,00% NO YES Tabela 4: Wyniki dla kosztów decyzji 2 2.2 Regression a) Elementy - klasyfikator został zbudowany z następujących elementów: Input Data (SPAM) → Data Partition → Variable Selection → Principal Component → Regression → Score → SAS Code b) Wyniki – rezultaty wykonanych klasyfikacji są zawarte w tabelach 5 oraz 6. Poprawna odpowiedź NO YES Odpowiedź klasyfikatora NO YES 878 7 99,21% 0,79% 43 510 7,78% 92,22% Tabela 5: Wyniki dla kosztów decyzji 1 Poprawna odpowiedź NO YES Odpowiedź klasyfikatora NO YES 878 7 99,21% 0,79% 43 510 7,78% 92,22% Tabela 6: Wyniki dla kosztów decyzji 2 3/6 2.3 Auto Neural a) Elementy - klasyfikator został zbudowany z następujących elementów: Input Data (SPAM) → Data Partition → Variable Selection → Auto Neural → Score → SAS Code b) Wyniki – rezultaty wykonanych klasyfikacji są zawarte w tabelach 7 oraz 8. Poprawna odpowiedź NO YES Odpowiedź klasyfikatora NO YES 116 769 13,11% 86,89% 5 548 0,90% 99,10% Tabela 7: Wyniki dla kosztów decyzji 1 Poprawna odpowiedź Odpowiedź klasyfikatora NO YES 312 573 35,25% 64,75% 4 549 0,72% 99,28% NO YES Tabela 8: Wyniki dla kosztów decyzji 2 2.4 Rule Induction a) Elementy - klasyfikator został zbudowany z następujących elementów: Input Data (SPAM) → Data Partition → Variable Selection → Principal Component → Rule Induction → Score → SAS Code b) Wyniki – rezultaty wykonanych klasyfikacji są zawarte w tabelach 9 oraz 10. Poprawna odpowiedź NO YES Odpowiedź klasyfikatora NO YES 882 3 99,66% 0,34% 43 510 7,78% 92,22% Tabela 9: Wyniki dla kosztów decyzji 1 Poprawna odpowiedź Odpowiedź klasyfikatora NO YES 882 3 99,66% 0,34% 43 510 7,78% 92,22% NO YES Tabela 10: Wyniki dla kosztów decyzji 2 2.5 Neural Network a) Elementy - klasyfikator został zbudowany z następujących elementów: Input Data (SPAM) → Data Partition → Neural Network → Score → SAS Code 4/6 b) Wyniki – rezultaty wykonanych klasyfikacji są zawarte w tabelach 11 oraz 12. Poprawna odpowiedź Odpowiedź klasyfikatora NO YES 871 14 98,42% 1,58% 39 514 7,05% 92,95% NO YES Poprawna odpowiedź Odpowiedź klasyfikatora NO YES 872 13 98,53% 1,47% 32 521 5,79% 94,21% NO YES Tabela 11: Wyniki dla kosztów decyzji 1 Tabela 12: Wyniki dla kosztów decyzji 2 2.6 DMN Neural a) Elementy - klasyfikator został zbudowany z następujących elementów: Input Data (SPAM) → Data Partition → DMN Neural → Score → SAS Code b) Wyniki – rezultaty wykonanych klasyfikacji są zawarte w tabelach 13 oraz 14. Poprawna odpowiedź NO YES Odpowiedź klasyfikatora NO YES 873 12 98,64% 1,36% 61 492 11,03% 88,97% Poprawna odpowiedź Odpowiedź klasyfikatora NO YES 873 12 98,64% 1,36% 61 492 11,03% 88,97% NO YES Tabela 13: Wyniki dla kosztów decyzji 1 Tabela 14: Wyniki dla kosztów decyzji 2 2.7 Decision Tree (boosting/bagging) a) Elementy - klasyfikator został zbudowany z następujących elementów: Input Data (SPAM) → Data Partition → Variable Selection → Principal Component → Start Groups → Decision Tree → End Groups → Score → SAS Code b) Wyniki – rezultaty wykonanych klasyfikacji są zawarte w tabelach 15 oraz 16. 5/6 Poprawna odpowiedź Odpowiedź klasyfikatora NO YES 881 4 99,55% 0,45% 50 503 9,04% 0,00% NO YES Poprawna odpowiedź NO YES Tabela 15: Wyniki dla kosztów decyzji 1 Odpowiedź klasyfikatora NO YES 885 0 100,00% 0,00% 553 0 100,00% 0,00% Tabela 16: Wyniki dla kosztów decyzji 2 3. Wyniki Klasyfikatory decydują, czy konkretna wiadomość jest wiadomością spam czy też nie. Jeśli chodzi o klasyfikowanie dobrych listów jako spam (no → yes) najlepiej radzą sobie klasyfikatory: • w przypadku kosztów decyzji 1: Decision Tree (2.1) – skuteczność na poziomie 99,66% oraz Rule Induction (2.4) – również 99,66%, • w przypadku kosztów decyzji 2: Decision Tree (2.1) – skuteczność 100% oraz Decision Tree (boosting/bagging) (2.7) – również 100%. Warto zauważyć, że dla kosztów decyzji 1 boosting i bagging nie zwiększa skuteczności, a wręcz ją obniża (do 99,55%). Koszty decyzji 2 sprawiają, że klasyfikator Decision Tree osiąga idealną skuteczność – 100%. W przypadku klasyfikacji spamu jako wiadomości nie-spam (yes → no) najlepsze rezultaty osiągają klasyfikatory: • dla kosztów decyzji 1: Auto Neural (2.3) - skuteczność na poziomie 99,10%, • dla kosztów decyzji 2: Decision Tree (2.1) – skuteczność 100% oraz Decision Tree (boosting/bagging) (2.7) – również 100%. Podobnie jak w przypadku klasyfikacji no → yes boosting i bagging obniża skuteczność klasyfikatora dla kosztów decyzji 1 (dla kosztów decyzji 2 wyniki nie zmieniają się), natomiast ustawienie kosztów decyzji 2 zwiększa skuteczność klasyfikatora do 100%. Podczas realizacji zadań laboratoryjnych podjęto próby modyfikacji ustawień algorytmów poszczególnych klasyfikatorów (Neural Network, Decision Tree), jednak nie uzyskano rezultatów lepszych od tych, które były osiągane przy domyślnych wartościach. 6/6