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

Podobne dokumenty