Ł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 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. NO 882 3 NO 885 0 99,66% 0,34% 100,00% 0,00% YES 43 510 YES 553 0 7,78% 92,22% 100,00% 0,00% Tabela 3: Wyniki dla kosztów decyzji 1 Tabela 4: Wyniki dla kosztów decyzji 2 2.2 Regression 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. NO 878 7 NO 878 7 99,21% 0,79% 99,21% 0,79% YES 43 510 YES 43 510 7,78% 92,22% 7,78% 92,22% Tabela 5: Wyniki dla kosztów decyzji 1 Tabela 6: Wyniki dla kosztów decyzji 2 3 / 6
2.3 Auto Neural Input Data (SPAM) Data Partition Variable Selection Auto Neural Score SAS Code b) Wyniki rezultaty wykonanych klasyfikacji są zawarte w tabelach 7 oraz 8. NO 116 769 NO 312 573 13,11% 86,89% 35,25% 64,75% YES 5 548 YES 4 549 0,90% 99,10% 0,72% 99,28% Tabela 7: Wyniki dla kosztów decyzji 1 Tabela 8: Wyniki dla kosztów decyzji 2 2.4 Rule Induction 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. NO 882 3 NO 882 3 99,66% 0,34% 99,66% 0,34% YES 43 510 YES 43 510 7,78% 92,22% 7,78% 92,22% Tabela 9: Wyniki dla kosztów decyzji 1 Tabela 10: Wyniki dla kosztów decyzji 2 2.5 Neural Network Input Data (SPAM) Data Partition Neural Network Score SAS Code 4 / 6
b) Wyniki rezultaty wykonanych klasyfikacji są zawarte w tabelach 11 oraz 12. NO 871 14 NO 872 13 98,42% 1,58% 98,53% 1,47% YES 39 514 YES 32 521 7,05% 92,95% 5,79% 94,21% Tabela 11: Wyniki dla kosztów decyzji 1 Tabela 12: Wyniki dla kosztów decyzji 2 2.6 DMN Neural Input Data (SPAM) Data Partition DMN Neural Score SAS Code b) Wyniki rezultaty wykonanych klasyfikacji są zawarte w tabelach 13 oraz 14. NO 873 12 NO 873 12 98,64% 1,36% 98,64% 1,36% YES 61 492 YES 61 492 11,03% 88,97% 11,03% 88,97% Tabela 13: Wyniki dla kosztów decyzji 1 Tabela 14: Wyniki dla kosztów decyzji 2 2.7 Decision Tree (boosting/bagging) 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
NO 881 4 NO 885 0 99,55% 0,45% 100,00% 0,00% YES 50 503 YES 553 0 9,04% 0,00% 100,00% 0,00% Tabela 15: Wyniki dla kosztów decyzji 1 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