spam-sms-dectector.herokuapp.com
Привет мир,
В этом посте я расскажу вам, как нам следует классифицировать спам-смс с помощью машинного обучения.
Прежде всего, представьтесь. Меня зовут «Йогеш Нил, я студент 3-го курса BCA и живу в Сурате, Индия.
В машинном обучении нам требуется набор данных классификации смс-спама. Я загрузил набор данных в kaggle, но я поставлю ссылку на репозиторий github, чтобы вы получили все материалы в одном месте.
Разработка модели:-
Теперь у нас есть набор данных для импорта в python с использованием библиотек pandas. Затем мы удаляем дубликаты значений в наборе данных. Этот процесс называется процессом очистки данных в машинном обучении.
SMS принимаются в виде предложения, машинное обучение не понимает предложение или слово, потому что машинное обучение выполняет математические операции, такие как линейная регрессия и логистическая регрессия. Итак, в следующем процессе очистки данных удаляется специальный символ из сообщения, потому что специальный символ не используется в модели.
Следующий шаг — преобразовать все предложения в нижний регистр. потому что слова In «In» и «in» одинаковы, но компьютер не понимает, что оба слова одинаковы, поэтому для лучшей разработки модели мы преобразовали все предложения в нижний регистр.
Следующим шагом будет разбиение всего предложения на слова, потому что модель легко понимает, сколько слов используется в сообщении. и эти слова используются для удаления стоп-слова из списка. слова входят в стоп-слова, которые являются простыми словами языка, который не будет использоваться в нашей модели.
После очистки данных мы объединяем список этих слов в предложение. Затем мы обрабатываем эти предложения в CountVectorizer. CountVectorizer предоставляет простой способ токенизации коллекции текстовых документов и создания словаря известных слов, а также для кодирования новых документов с использованием этого словаря.
Прежде чем делать CountVectorizer, мы сохраняем список корпусов в нашей системе. Эти файлы будут использоваться в процессе развертывания.
Следующий процесс заключается в том, что мы извлекаем зависимую переменную в набор данных и сохраняем ее в переменной y. И заменить в фиктивную переменную 0 как спам, 1 как ветчину.
Последним шагом разработки модели является разделение данных на обучающий и тестовый наборы данных. мы обучим модель с набором данных поезда и проверим точность модели с помощью тестового набора данных.
Мы используем Наивный байесовский алгоритм для обучения модели и вывода модели с помощью рассола.
Развертывание модели: -
Теперь следующий процесс — развертывание модели. В этом процессе мы создаем веб-сайт для обнаружения спама или нежелательных сообщений с использованием модели.
Мы используем модуль Flask для разработки сайта.
Первым шагом является загрузка файла модели и файла списка корпусов. Затем мы обрабатываем в «CountVectorizer» этот список корпусов.
Следующим шагом является очистка сообщения, полученного от пользователя, и прогнозирование ответа с использованием модели. И наш последний шаг — разработка FlaskApp.
Спасибо, что уделили время чтению моего блога.