Каждый день нас бомбардируют тонны электронных писем от рекламодателей, компаний, государственных органов, коллег, подписанных веб-сайтов и мошенников.

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

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

Сначала я загружаю его в локальное хранилище и читаю, используя функциональность pandas read_csv в Jupyter Notebook.

Логика модели такова; алгоритм делает свои прогнозы на основе типа слова в содержании. Если содержимое содержит большое количество слов, которые часто встречаются в спам-сообщениях, оно будет помечено как спам.

После чтения данных я использую инструмент под названием «CountVectorizer», который позволяет мне преобразовывать слова в столбцы с двоичными значениями. Теперь у меня столько столбцов, сколько отдельных слов в наборе данных. Каждое слово имеет свой столбец. Если текст сообщения электронной почты в строке содержит слово, принадлежащее столбцу, значение перехвата становится равным 1. В противном случае оно остается равным 0.

Это все, что вам нужно сделать перед вставкой данных в модель.

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

Он достиг 97% точности.

Моя модель готова делать прогнозы сейчас. Теперь я захожу в свой почтовый ящик и выбираю пару писем. Я копирую и вставляю их в свою модель. Вот предсказания модели, проверьте, согласны ли вы;

Как всегда, добавляю ссылку на код Python здесь. Я надеюсь, что эта статья будет полезна для вас.