Классификация спама с применением методов машинного обучения

Возможность применения машинного обучения при классификации спама. Структура файла "spam". Программный код использования библиотеки pandas, перевода категориальных признаков в числовые. Код тестирования различного количества нейронов, его анализ.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 17.02.2019
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1

1

Московский Технический Университет Связи и Информатики Москва, Россия

Классификация спама с применением методов машинного обучения

Шалтынова З.С., Тутова Н.В.

В статье рассмотрена возможность применения машинного обучения при классификации спама, в рамках курсового проекта по дисциплине «Методы интеллектуального анализа данных», научный руководитель - д.ф.-м.н., профессор Воронова Л.И. [1].

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

Спам -- это сообщения, массово рассылаемые людям, не дававшим согласие на их получение. Чаще всего спам встречается на электронных почтах, на сайтах, в комментариях и др.

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

В основном спам - это негативный момент, который доставляет много проблем. Если не настроить сайт на автоматическую фильтрацию спама, то вычищать вручную автоматически присланные спам-комментарии крайне долго и нудно. спам числовой pandas тестирование

Именно поэтому классификация спамов с использованием методов машинного обучения является актуальной.

В качестве данных для анализа используются комментарии выгруженные с видеохостингового сайта [9], в csv файл spam с исходным набором данных (спам и не спам сообщения). Файл spam представляет собой список сообщения, каждое из которых является спамом или не спамом. Содержимое файла представлено на рисунке 1.

Рис.1. Структура файла «spam»

Для отчистки, обработки и записи данных в csv формат, для удобного использования, применялась библиотека ElementTree [8].

Для чтения и обработки обработанных данных использовалась библиотека pandas [7]. Программный код использования данной библиотеки отображен на рисунке 2. Функция read_csv считать csv как data frame. С помощью функции split () разделяет слепленные классы. Функция dropna() позволяет удалять пустые записи [3].

Рис. 2. Программный код использования библиотеки pandas

В качестве инструмента машинного обучения использовалась библиотека scikitlearn [6]. Данная библиотека не позволяет обрабатывать категориальные признаки, для реализации модели необходимо перевести их в числовые признаки, программный код перевода показан на рисунке 3.

Рис. 3. Программный код перевода категориальных признаков в числовые

При анализе текстовых признаков было использованы 3 модели:

1. Bags of words или мешок слов -- представляет собой неупорядоченный набор слов, входящих в обрабатываемый текст. Модель представляют в виде матрицы, в которой строки соответствуют отдельному тексту, а столбцы -- входящие в него слова. Ячейки на пересечении являются числом вхождения данного слова в соответствующий документ.

2. N-grams-- последовательность из n элементов. С семантической точки зрения, это может быть последовательность звуков, слогов, слов или букв. На практике чаще встречается N-грамма как ряд слов, устойчивые словосочетания называют коллокацией.,

3. tf-idf-- статистическая мера, используемая для оценки важности слова в контексте документа, являющегося частью коллекции документов или корпуса. Вес некоторого слова пропорционален частоте употребления этого слова в документе и обратно пропорционален частоте употребления слова во всех документах коллекции. [10] Программный код анализа текстовых признаков представлен на рисунке 4.

Рис. 4. Программный код анализа текстовых признаков

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

Рис. 5. Программный код выбора алгоритма классификации

1. RandomForest- множество решающих деревьев. В задаче регрессии их ответы усредняются, в задаче классификации принимается решение голосованием по большинству.

2. ComplimentNB- метод, основанный на применении наивного байесовского классификатора, в основе которого лежит применение теоремы Байеса.

3. Perceptron, который имеет множество слоев: входной слой для получения данных, скрытые слои и выходной слой для вывода данных.

В данном случае для классификации спам/не спам нейронная сеть показала себя лучше, чем другие алгоритмы классификации. [4]:

• F-мера случайного леса= 0.972;

• F-мера тестовой выборки персептрона= 0.9861;

• F-мера тестовой выборки байесовского классификатора: 0.966.

График сравнения алгоритмов классификации отображается на рисунке 6.

Рис. 6. Сравнение алгоритмов классификации

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

Рис. 7. Код тестирования различного количества нейронов

Исходя из этого был построен график: зависимости качества классификации от количества слоев [2]. График зависимости качества классификации от количества нейронов находится на рисунке 8.

Рис. 8. Зависимость качества классификации от количества слоев нейронов

Опираясь на график, можно сделать вывод, что для алгоритма «мешок слов» наилучшее количество слоев нейронов 12, а количество входных нейронов 8617. Модель нейронной сети показан на рисунке 9.

Рис. 9. Нейронная сеть для классификации спама

Для проверки работы классификатора, подадим на вход текст и классификатор выдает результат: «спам», что является таковым.

Результат работы программы предоставлен на рисунке 10.

Рис. 10 - Работа классификатора спама

Выводы

В статье проанализирована проблема классификации спама методами машинного обучения; обозначены основные понятия. Описан программный код и построены графики для выбора наилучших условий для качества классификатора спама. Спроектирована и реализована нейронная сеть, а также другие методы машинного обучения, такие как: RandomForest, байесовский классификатор спама для сравнения и сделан вывод что наилучшим методом машинного обучения является нейронная сеть, показан результат работы программы [5].

Список литературы и источников

1. Л.И. Воронова, В.И. Воронов. Machine Learning: Регрессионные методы интеллектуального анализа данных: учебное пособие - МТУСИ, 2017 - 81 с.

2. Курс машинного обучения Andrew Ng Machine Learning [Электронный ресурс]. - Режим доступа: https://www.coursera.org/learn/machinelearning (дата обращения: 01.12.2017)

3. Высокоуровневый язык программирования Python [Электронный ресурс]. - Режим доступа: https://www.python.org/ (дата обращения: 5.12.2018)

4. Открытая библиотека машинного обучения TensorFlow [Электронный ресурс]. - Режим доступа: https://www.tensorflow.org/ (дата обращения: 7.12.2017)

5. Открытая библиотека разработки нейронных сетей Keras [Электронный ресурс]. - Режим доступа: https://keras.io/ (дата обращения: 15.12.2018)

6. Открытая библиотека машинного обучения scikit-learn [Электронный ресурс]. - Режим доступа: http://scikit-learn.org/ (дата обращения: 17.12.2018)

7. Библиотека Анализа Данных Python. [Электронный ресурс]. - Режим доступа: https://pandas.pydata.org (дата обращения: 17.12.2018)

8. Python XML with ElementTree: Beginner's Guide [Электронный ресурс]. - Режим доступа: https://www.datacamp.com/community/tutorials/python-xml-elementtree (дата обращения: 17.12.2018)

9. YouTube [Электронный ресурс]. - Режим доступа: https://www.youtube.com (дата обращения: 7.12.2017)

10. Классификация текстов с помощью мешка слов. Руководство [Электронный ресурс]. - Режим доступа: http://datareview.info/article/klassifikatsiya-tekstov-s-pomoshhyumeshka-slov-rukovodstvo/ (дата обращения: 7.12.2017)

Размещено на Allbest.ru

...

Подобные документы

  • Сущность и история появления понятия "спам", его современная трактовка. Место и значение спама в Интернете, методы и пути борьбы с данным негативным явлением. Разновидности спама и определение их опасности для компьютера, способы избегания спамовых атак.

    реферат [17,4 K], добавлен 03.05.2010

  • История автоматизированного перевода. Современные компьютерные программы перевода. Сфера использования машинного перевода. Формы организации взаимодействия человека и ЭВМ в машинном переводе. Интерредактирование и постредактирование машинного перевода.

    курсовая работа [30,0 K], добавлен 19.06.2015

  • Проблема спама и его место в сети Интернет. Антивирусные программы и спам-фильтры. Типы массовых рассылок. Реклама незаконной продукции. Доля спама в почтовом трафике Рунета. Письма счастья, DoS и DDoS-атаки, "нигерийские письма" и другие виды спама.

    презентация [269,3 K], добавлен 21.03.2014

  • Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.

    дипломная работа [917,1 K], добавлен 31.01.2015

  • Machine Learning как процесс обучения машины без участия человека, основные требования, предъявляемые к нему в сфере медицины. Экономическое обоснование эффективности данной технологии. Используемое программное обеспечение, его функции и возможности.

    статья [16,1 K], добавлен 16.05.2016

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

    дипломная работа [1,8 M], добавлен 08.02.2017

  • История возникновения спама как одного из негативных последствий развития современных информационных технологий. Динамика его объёма в почтовом трафике за последние 15 лет. Виды спама и его тематический спектр, а также основные страны-источники.

    статья [29,9 K], добавлен 24.03.2014

  • История возникновения, эволюция машинного перевода. Основные требования к коммуникативной эквивалентности. Последовательность формальных операций в системе машинного перевода, ее концепции развития. Переводчик для офиса. Преимущества электронных словарей.

    презентация [455,3 K], добавлен 22.10.2013

  • Вред, наносимый спамом. Последний писк спамерской моды. Невеселые перспективы, естественные ограничители SMS-спама. Автоматизированные антиспам-системы. Спам от любимого оператора и друзей-абонентов. Интернет без спама. Электронные "почтовые марки".

    реферат [39,2 K], добавлен 30.04.2011

  • Понятие, история появления и распространенные виды спама. Профилактика и методы борьбы со спамом. Спам в России: статистика, законодательство, основные проблемы. Решения для борьбы со спамом на предприятии. Характеристика закона против спама в США.

    курсовая работа [55,2 K], добавлен 02.05.2011

  • Виды машинного обучения, его основные задачи и методы. Подходы к классификации: логистическая регрессия, наивный байесовский классификатор, стохастический градиентный спуск, K-ближайший сосед, дерево решений, случайный лес, метод опорных векторов.

    курсовая работа [436,9 K], добавлен 14.12.2022

  • Історія машинного перекладу як науково-прикладного напряму. Теорія машинного перекладу. Особливості використання систем, орієнтованих на персональні комп’ютери. Напрямки розвитку та застосування машинного перекладу. Приклади систем машинного перекладу.

    реферат [21,5 K], добавлен 19.02.2011

  • Получение и обработка данных о веб-сайте. Иерархическая классификация, алгоритмы машинного обучения. Решающие деревья, плоские классификаторы. Метрики оценки качества. Полная точность (accuracy), кросс-валидация. Параллельные вычисления, хранение данных.

    курсовая работа [276,8 K], добавлен 04.09.2016

  • Исследование современных технологий машинного перевода. Изучение классификации систем перевода. Характеристика особенностей работы с электронным словарем. Языковые инструменты Google. Программы для проверки правописания и грамматики, текстовые редакторы.

    реферат [917,0 K], добавлен 02.11.2014

  • Популярность алгоритмов машинного обучения для компьютерных игр. Основные техники обучения с подкреплением в динамической среде (компьютерная игра "Snake") с экспериментальным сравнением алгоритмов. Обучение с подкреплением как тип обучения без учителя.

    курсовая работа [1020,6 K], добавлен 30.11.2016

  • Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.

    курсовая работа [3,9 M], добавлен 22.10.2012

  • Организация проверки результатов обучения и оценки знаний, использование систем тестирования, основные требования к ним. Создание современной модели WEB-сервиса тестирования знаний; программная реализация; защита от копирования информации и списывания.

    курсовая работа [24,1 K], добавлен 11.05.2012

  • Обучение через Интернет. Обзор систем дистанционного обучения. Система дистанционного обучения Learning Space 5.0. Создание базы данных. Запуск установочного файла для создания файла config.php. Структура каталога CMS Moodle. Создание нового курса.

    курсовая работа [1,3 M], добавлен 27.04.2009

  • Человеко-машинный интерфейс. Текстовый и смешанный (псевдографический) интерфейсы. Применение человеко-машинного интерфейса в промышленности. Программные средства для разработки человеко-машинного интерфейса. Среда разработки мнемосхем GraphworX32.

    дипломная работа [5,3 M], добавлен 19.03.2010

  • Понятие базы знаний для управления метаданными. Особенности баз знаний интеллектуальной системы. Языки, используемые для разработки интеллектуальных информационных систем. Классические задачи, решаемые с помощью машинного обучения и сферы их применения.

    реферат [16,9 K], добавлен 07.03.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.