spam-sms-dectector.herokuapp.com

Привет мир,

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

Прежде всего, представьтесь. Меня зовут «Йогеш Нил, я студент 3-го курса BCA и живу в Сурате, Индия.

В машинном обучении нам требуется набор данных классификации смс-спама. Я загрузил набор данных в kaggle, но я поставлю ссылку на репозиторий github, чтобы вы получили все материалы в одном месте.



Разработка модели:-

Теперь у нас есть набор данных для импорта в python с использованием библиотек pandas. Затем мы удаляем дубликаты значений в наборе данных. Этот процесс называется процессом очистки данных в машинном обучении.

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

Следующий шаг — преобразовать все предложения в нижний регистр. потому что слова In «In» и «in» одинаковы, но компьютер не понимает, что оба слова одинаковы, поэтому для лучшей разработки модели мы преобразовали все предложения в нижний регистр.

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

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

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

Следующий процесс заключается в том, что мы извлекаем зависимую переменную в набор данных и сохраняем ее в переменной y. И заменить в фиктивную переменную 0 как спам, 1 как ветчину.

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

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

Развертывание модели: -

Теперь следующий процесс — развертывание модели. В этом процессе мы создаем веб-сайт для обнаружения спама или нежелательных сообщений с использованием модели.

Мы используем модуль Flask для разработки сайта.

Первым шагом является загрузка файла модели и файла списка корпусов. Затем мы обрабатываем в «CountVectorizer» этот список корпусов.

Следующим шагом является очистка сообщения, полученного от пользователя, и прогнозирование ответа с использованием модели. И наш последний шаг — разработка FlaskApp.

Спасибо, что уделили время чтению моего блога.