Make_hard, нужен совет по балансировке датасета для задачи классификации текстов.
У меня текстовый датасет из ~104K сообщений, размеченный по трём классам (негативный/-1, нейтральный/0, позитивный/+1) для разных временных окон. Проблема в сильном дисбалансе:
Моя идея: удалить из класса 0 «истинно нейтральные» примеры — те, у которых целевая метрика близка к нулю и z-score низкий (нет статистической значимости).
Данные по классу 0 (для 5 мин):
* 61.7% имеют |z-score| < 0.5 (очень низкая значимость)
* 87.8% имеют |z-score| < 1.0 (слабая значимость)
* 99.9% имеют малое абсолютное значение целевой метрики
Мои вопросы:
* Насколько корректен такой подход для балансировки? Не теряю ли я важную информацию о «настоящих нейтральных» примерах?
* Какой порог по z-score посоветуешь использовать? Склоняюсь к |z| < 1.0 (это даст удаление ~74K из 84K нейтральных, останется ~30K примеров с более-менее равными классами).
* Может, есть лучшие стратегии для такой задачи, кроме андерсэмплинга нейтрального класса?