Машинное обучение в задачах классификации текстов.
Задача: Необходимо определить эмоциональный окрас сообщений на тему covid-19 в социальной сети "Twitter".
📊Получена модель📊:
- accuracy = 90%
- recall1 = 90%, recall2 = 90%
- precision1 = 89%, precision2 = 91%
- AUC/ROC 90%
- X - текст твита
- Y - эмоциональный окрас
- Преобразование категориальной переменной в числовую
- Удаление стоп-слов
- Удаление ненужных символов
- Преобразование в нижний регистр
- Удаление ссылок/тегов/упоминаний
- Токенизация
- Стемминг/Лемматизация
- Векторизация
Был использован метод KMeans
Рассмотренные модели:
- MultinomialNB
- Logistic Regression
- DecisionTree
- SGD Classifier
- RandomForest
- XGBoost
- LinearSVC
- KNN
- Векторизация - CountVectorizer (ngram_range=(1, 1))
- Разбиение 75%/25%
- Токенизация => Очистка (без лемм и стемминга)
- Удаление нейтрального класса
- SGDClassifier(l1_ratio=0.5,penalty='elasticnet')
Попробовать более сложные модели (глубокое машинное обучение). Если есть интерес в нейтральном классе, то можно добавить больше твитов с такими лейблами для того, чтобы был баланс между классами (не искусственный).