Обнаружение поддельных новостей. Обнаружение поддельных новостей с помощью машинного обучения. Обнаружение поддельных новостей с помощью машинного обучения
![]()
|
Обнаружение поддельных новостей с помощью машинного обучения https://www.geeksforgeeks.org/fake-news-detection-using-machine-learning/?ref=rp Последнее обновление : 26 октября 2022 г. Читать Обсудить Курсы Практика Видео Поддельные новости на разных платформах широко распространяются и вызывают серьезную озабоченность, поскольку вызывают социальные войны и постоянный разрыв связей, установленных между людьми. Уже проводится много исследований, посвященных классификации поддельных новостей. Здесь мы попытаемся решить эту проблему с помощью машинного обучения на Python. Перед запуском кода загрузите набор данных, нажав на ссылку. Шаги, которые необходимо выполнить Импорт библиотек и наборов данных Предварительная обработка данных Предварительная обработка и анализ новостной колонки Преобразование текста в векторы Обучение, оценка и прогнозирование моделей Импорт библиотек и наборов данных Используемые библиотеки : Pandas: Для импорта набора данных. Seaborn / Matplotlib: для визуализации данных. Python3
Давайте импортируем загруженный набор данных. Python3
Вывод : ![]() Предварительная обработка данных Форму набора данных можно найти по приведенному ниже коду. Python3
Вывод: (44919, 5) Поскольку заголовок, тема и столбец даты не будут полезны для идентификации новостей. Итак, мы можем отбросить эти столбцы. Python3
Теперь нам нужно проверить, есть ли какое-либо нулевое значение (мы удалим эти строки) Python3
Вывод: текст 0 класс 0 Таким образом, нулевого значения нет. Теперь нам нужно перетасовать набор данных, чтобы предотвратить смещение модели. После этого мы сбросим индекс, а затем удалим его. Потому что столбец индекса нам не полезен. Python3
Теперь давайте рассмотрим уникальные значения в каждой категории, используя приведенный ниже код. Python3
Вывод: ![]() Предварительная обработка и анализ новостной колонки Во-первых, мы удалим из текста все стоп-слова, знаки препинания и любые неуместные пробелы. Для этого требуется библиотека NLTK, и некоторые из ее модулей необходимо загрузить. Итак, для этого выполните приведенный ниже код. Python3
Как только у нас будут все необходимые модули, мы сможем создать текст предварительной обработки имени функции. Эта функция будет предварительно обрабатывать все данные, предоставленные в качестве входных данных. Python3
Чтобы реализовать эту функцию во всех новостях в текстовом столбце, выполните приведенную ниже команду. Python3
Эта команда займет некоторое время (поскольку взятый набор данных очень большой). Давайте представим WordCloud для поддельных и реальных новостей отдельно. Python3
Вывод : ![]() Python3
Вывод : ![]() Теперь давайте построим гистограмму 20 самых часто встречающихся слов. Python3
Вывод : ![]() Преобразование текста в векторы Перед преобразованием данных в векторы разделите их на обучающие и тестовые. Python3
Теперь мы можем преобразовать обучающие данные в векторы с помощью TfidfVectorizer. Python3
Обучение, оценка и прогнозирование моделей Теперь набор данных готов к обучению модели. Для обучения мы будем использовать логистическую регрессию и оценивать точность прогнозирования с помощью accuracy_score. Python3
Вывод : 0.993766511324171 0.9893143365983972 Давайте потренируемся с классификатором дерева решений. Python3
Вывод : 0.9999703167205913 0.9951914514692787 Матрица путаницы для классификатора дерева решений может быть реализована с помощью приведенного ниже кода. Python3
Вывод : ![]() Заключение Классификатор дерева решений и логистическая регрессия работают хорошо. |