Skip to content

Latest commit

 

History

History
54 lines (40 loc) · 2.14 KB

README.md

File metadata and controls

54 lines (40 loc) · 2.14 KB

🔥ml-text-classification-twitter🔥

Машинное обучение в задачах классификации текстов.

Задача: Необходимо определить эмоциональный окрас сообщений на тему covid-19 в социальной сети "Twitter".

📊Получена модель📊:

  1. accuracy = 90%
  2. recall1 = 90%, recall2 = 90%
  3. precision1 = 89%, precision2 = 91%
  4. AUC/ROC 90%

⭐Признаки⭐

  1. X - текст твита
  2. Y - эмоциональный окрас

👩🏽‍💻Обработка данных👩🏽‍💻

  1. Преобразование категориальной переменной в числовую
  2. Удаление стоп-слов
  3. Удаление ненужных символов
  4. Преобразование в нижний регистр
  5. Удаление ссылок/тегов/упоминаний
  6. Токенизация
  7. Стемминг/Лемматизация
  8. Векторизация

Обучение без учителя

Был использован метод KMeans

Обучение с учителем

Рассмотренные модели:

  1. MultinomialNB
  2. Logistic Regression
  3. DecisionTree
  4. SGD Classifier
  5. RandomForest
  6. XGBoost
  7. LinearSVC
  8. KNN

📈Итоговая модель📈

  1. Векторизация - CountVectorizer (ngram_range=(1, 1))
  2. Разбиение 75%/25%
  3. Токенизация => Очистка (без лемм и стемминга)
  4. Удаление нейтрального класса
  5. SGDClassifier(l1_ratio=0.5,penalty='elasticnet')

📈Что можно улучшить?📈

Попробовать более сложные модели (глубокое машинное обучение). Если есть интерес в нейтральном классе, то можно добавить больше твитов с такими лейблами для того, чтобы был баланс между классами (не искусственный).