Выявление фальшивых новостей с помощью Python и машинного обучения

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

Терминология

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

-Векторизатор ТФидф
TF(Term Frequency)
Это количество раз, когда слово встречается в документе. Большие значения означают, что слово встречается очень часто по отношению к другим словам.

IDF(Inverse Document Frequency)
IDF – это пропорция того, насколько критичен термин во всем корпусе данных.

Проект

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

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

Анализ данных

Используемый набор данных можно найти [(url)].

Этот набор данных состоит из четырех столбцов,

  • безымянный
  • заголовок
  • текст
  • метка

Библиотеки

import numpy as np
import pandas as pd
import itertools
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import PassiveAggressiveClassifier
from sklearn.metrics import accuracy_score, confusion_matrix

Вход в полноэкранный режим Выход из полноэкранного режима

Выходные данные представлены в виде вектора;
confusion_matrix(y_test,y_pred, labels=[‘FAKE’,’REAL’])
Fake=True Real=False

Ссылка на код проекта
[(https://github.com/elsie-n/FakeNews/tree/main)]

Оцените статью
Procodings.ru
Добавить комментарий