Случайная цитата


Если действовать не будешь, ни к чему ума палата. (Шота Руставели)

Задача распознавания спама

Цель исследования

Описание примера

1. Анализ с помощью МАР – сплайнов

2. Анализ с помощью растущих деревьев классификации и регрессии

Вывод


Цель исследования

Построить автоматический распознаватель спама, т. е. устройство, которое бы предотвращало засорение электронного почтового ящика спамом, путем его распознавания и удаления.

Задача состоит в том, чтобы построить хорошую предиктивную (предсказательную) модель, на основе имеющихся данных.

Заметим, что нельзя дать точное определение спама и поэтому в каждом случае классификатор нужно настраивать индивидуально.

Для решения данной задачи мы используем STATISTICA Data Miner.

Данные для примера были собраны администраторами Hewlett-Packard Support.

В начало


Описание примера

Описание таблицы исходных данных

Число наблюдений 4601, из которых спам составлял 39.4% (1813 сообщений было спамом)

Общее число переменных: 58, из которых 57 непрерывных предикторов, и одна – категориальная (индикатор того, является сообщение спамом или нет).

Предикторы показывают, как часто появляется данное слово или символ в электронном письме. Переменные 55-57 показывают характеристики длины последовательности непрерывных последовательностей заглавных букв.

Описание переменных

Эти предикторные переменные характеризуют спам. Очевидно, можно использовать другие параметры.

48 непрерывных вещественных [1, 100] переменных типа word_freq_WORD = процентному отношению слов WORD в письме, т. е. 100*(число появлений слова WORD в данном письме к общему числу слов).

6 непрерывных вещественных [1, 100] переменных типа char_freq_CHAR= процентному отношению появления символов CHAR в письме, к общему количеству символов в письме.

1 непрерывная вещественная [1, …] переменная типа capital_run_length_average= средней длине непрерывной последовательности заглавных букв.

1 непрерывная целая [1, …] переменная типа capital_run_length_longest= наибольшей длине непрерывной последовательности заглавных букв

1 непрерывная целая [1, …] переменная типа capital_run_length_total= суммарное число заглавных букв в письме.

Описательные статистики

Min

Max

Average

Std.Dev

Coeff.Var_%

1

0

4.54

0.10455

0.30536

292

2

0

14.28

0.21301

1.2906

606

3

0

5.1

0.28066

0.50414

180

4

0

42.81

0.065425

1.3952

2130

5

0

10

0.31222

0.67251

215

6

0

5.88

0.095901

0.27382

286

7

0

7.27

0.11421

0.39144

343

8

0

11.11

0.10529

0.40107

381

9

0

5.26

0.090067

0.27862

309

10

0

18.18

0.23941

0.64476

269

11

0

2.61

0.059824

0.20154

337

12

0

9.67

0.5417

0.8617

159

13

0

5.55

0.09393

0.30104

320

14

0

10

0.058626

0.33518

572

15

0

4.41

0.049205

0.25884

526

16

0

20

0.24885

0.82579

332

17

0

7.14

0.14259

0.44406

311

18

0

9.09

0.18474

0.53112

287

19

0

18.75

1.6621

1.7755

107

20

0

18.18

0.085577

0.50977

596

21

0

11.11

0.80976

1.2008

148

22

0

17.1

0.1212

1.0258

846

23

0

5.45

0.10165

0.35029

345

24

0

12.5

0.094269

0.44264

470

25

0

20.83

0.5495

1.6713

304

26

0

16.66

0.26538

0.88696

334

27

0

33.33

0.7673

3.3673

439

28

0

9.09

0.12484

0.53858

431

29

0

14.28

0.098915

0.59333

600

30

0

5.88

0.10285

0.45668

444

31

0

12.5

0.064753

0.40339

623

32

0

4.76

0.047048

0.32856

698

33

0

18.18

0.097229

0.55591

572

34

0

4.76

0.047835

0.32945

689

35

0

20

0.10541

0.53226

505

36

0

7.69

0.097477

0.40262

413

37

0

6.89

0.13695

0.42345

309

38

0

8.33

0.013201

0.22065

1670

39

0

11.11

0.078629

0.43467

553

40

0

4.76

0.064834

0.34992

540

41

0

7.14

0.043667

0.3612

827

42

0

14.28

0.13234

0.76682

579

43

0

3.57

0.046099

0.22381

486

44

0

20

0.079196

0.62198

785

45

0

21.42

0.30122

1.0117

336

46

0

22.05

0.17982

0.91112

507

47

00

2.17

0.0054445

0.076274

1400

48

0

10

0.031869

0.28573

897

49

0

4.385

0.038575

0.24347

631

50

0

9.752

0.13903

0.27036

194

51

0

4.081

0.016976

0.10939

644

52

0

32.478

0.26907

0.81567

303

53

0

6.003

0.075811

0.24588

324

54

0

19.829

0.044238

0.42934

971

55

1

1102.5

5.1915

31.729

611

56

1

9989

52.173

194.89

374

57

1

15841

283.29

606.35

214

58

0

1

0.39404

0.4887

124

Имена переменных

1 word_freq_make: continuous.

2 word_freq_address: continuous.

3 word_freq_all: continuous.

4 word_freq_3d: continuous.

5 word_freq_our: continuous.

6 word_freq_over: continuous.

7 word_freq_remove: continuous.

8 word_freq_internet: continuous.

9 word_freq_order: continuous.

10 word_freq_mail: continuous.

11 word_freq_receive: continuous.

12 word_freq_will: continuous.

13 word_freq_people: continuous.

14 word_freq_report: continuous.

15 word_freq_addresses: continuous.

16 word_freq_free: continuous.

17 word_freq_business: continuous.

18 word_freq_email: continuous.

19 word_freq_you: continuous.

20 word_freq_credit: continuous.

21 word_freq_your: continuous.

22 word_freq_font: continuous.

23 word_freq_000: continuous.

24 word_freq_money: continuous.

25 word_freq_hp: continuous.

26 word_freq_hpl: continuous.

27 word_freq_george: continuous.

28 word_freq_650: continuous.

29 word_freq_lab: continuous.

30 word_freq_labs: continuous.

31 word_freq_telnet: continuous.

32 word_freq_857: continuous.

33 word_freq_data: continuous.

34 word_freq_415: continuous.

35 word_freq_85: continuous.

36 word_freq_technology: continuous.

37 word_freq_1999: continuous.

38 word_freq_parts: continuous.

39 word_freq_pm: continuous.

40 word_freq_direct: continuous.

41 word_freq_cs: continuous.

42 word_freq_meeting: continuous.

43 word_freq_original: continuous.

44 word_freq_project: continuous.

45 word_freq_re: continuous.

46 word_freq_edu: continuous.

47 word_freq_table: continuous.

48 word_freq_conference: continuous.

49 char_freq_;: continuous.

50 char_freq_(: continuous.

51 char_freq_[: continuous.

52 char_freq_!: continuous.

53 char_freq_$: continuous.

54 char_freq_#: continuous.

55 capital_run_length_average: continuous.

56 capital_run_length_longest: continuous.

57 capital_run_length_total: continuous.

Следующая таблица показывает предикторы, значения которых наиболее сильно различаются в группах spam и email; в каждой ячейке указано среднее значение соответствующего предиктора в соответствующей группе.

 


george

you

your

hp

free

hpl

!

our

re

edu

remove

spam

0

2,26

1,38

0,02

0,52

0,01

0,51

0,51

0,13

0,01

0,28

email

1,27

1,27

0,44

0,90

0,07

0,43

0,11

0,18

0,42

0,29

0,01

Приведем столбчатые диаграммы для некоторых переменных:

Var 27- word_freq_george

Столбчатая диаграмма для переменной Var 27- word_freq_george

Рис. 1. Столбчатая диаграмма для переменной Var 27- word_freq_george

Var 25 – word_freq_hp

Столбчатая диаграмма для переменной Var 25 – word_freq_hp

Рис. 2. Столбчатая диаграмма для переменной Var 25 – word_freq_hp

Построим предиктивную модель с помощью двух подходов: МАР – сплайнов и растущих деревьев классификации и регрессии.

В начало


1. Анализ с помощью МАР – сплайнов

Здесь мы покажем, что варьируя параметры модели мы достигаем большей точности. Расчеты проводятся для двух наборов параметров.

Шаг 1. Зайдите в меню Анализ/Добыча данных/ МАР, задайте переменные для анализа.

Выбор переменных

Шаг 2. Задайте параметры модели и выполните анализ.

Выбор параметров модели

В параметры модели входит число базисных функций, порядок взаимодействий, штраф, порог. За подробным разъяснением этих параметров обращайтесь к технической документации.

Шаг 3. Теперь просмотрим результаты анализа.

При следующих значениях параметров модели:

Макс. число базисных функций = 30

Порядок взаимодействий = 10

Штраф = 2

Порог = 0.0005

Матрица классификаций имеет вид:

Предсказанные/Наблюдаемые

Non spam

spam

email

2670

191

spam

118

1622

Качественно можно посмотреть на гистограмме:

Гистограмма

При других значениях параметров модели:

Макс. число базисных функций = 70

Порядок взаимодействий = 40

Штраф = 2

Порог = 0.0005

Матрица классификаций имеет вид:

Предсказанные/Наблюдаемые

Non spam

spam

email

2671

136

spam

117

1677

Гистограмма

В начало


2. Анализ с помощью растущих деревьев классификации и регрессии

Теперь просмотрим результаты анализа классификации для данного метода.

Предсказанные/Наблюдаемые

Non spam

spam

email

2664

124

spam

111

1702

В начало


Вывод

Для МАР–сплайнов, в первом случае, точность предсказания (число правильно предсказанных наблюдений к общему числу наблюдений) равна 93,3%, а во втором – 94,5%.

Нужно отметить, что время счета различалось на порядок: в первом случае, мы получаем время выполнения порядка нескольких минут, а во втором – несколько десятков минут, т. е. мы сталкиваемся с известной проблемой увеличения на порядки вычислительных ресурсов при повышении точности вычислений на проценты. Таким образом, в нашем случае точность расчетов при разумном времени примерно равна 93%.

Для растущих деревьев классификации мы получаем точность предсказания примерно равную 5%, при времени счета порядка нескольких минут и стандартных настройках.


В начало