Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 3(299)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6

Библиографическое описание:
Старовойтов В.Ю. РАБОТА С НЕСБАЛАНСИРОВАННЫМИ ДАННЫМИ: ПОДХОДЫ К ОБРАБОТКЕ И АНАЛИЗУ (НА ПРИМЕРЕ СЕРВИСА СБЕРАВТОПОДПИСКА) // Студенческий: электрон. научн. журн. 2025. № 3(299). URL: https://sibac.info/journal/student/299/359040 (дата обращения: 10.02.2025).

РАБОТА С НЕСБАЛАНСИРОВАННЫМИ ДАННЫМИ: ПОДХОДЫ К ОБРАБОТКЕ И АНАЛИЗУ (НА ПРИМЕРЕ СЕРВИСА СБЕРАВТОПОДПИСКА)

Старовойтов Владислав Юрьевич

студент, кафедра прикладной информатики, Ростовский государственный экономический университет,

РФ, г. Ростов-На-Дону

Синявская Татьяна Геннадиевна

научный руководитель,

канд. экон. наук, доц. кафедры «Статистики, эконометрики и оценки рисков», Ростовский государственный экономический университет,

РФ, г. Ростов-На-Дону

WORKING WITH UNBALANCED DATA: APPROACHES TO PROCESSING AND ANALYSIS (ON THE EXAMPLE OF THE SBERAVTOPODPISKA SERVICE)

 

Vladislav Starovoytov

student, Department of Applied Informatics, Rostov State University of Economics,

Russia, Rostov-on-Don

Tatiana Gennadievna

scientific supervisor, Ph.D. in Economics, Associate Professor of the Department of Statistics, Econometrics and Risk Assessment, Rostov State University of Economics,

Russia, Rostov-on-Don

 

АННОТАЦИЯ

В статье рассматриваются подходы к обработке несбалансированных данных на примере анализа пользовательского поведения в сервисе "Сбер АвтоПодписка". Описаны методы ресемплирования, генерации признаков, использования специализированных метрик и алгоритмов. Предложена комплексная стратегия решения проблемы дисбаланса, подтвержденная улучшением метрик, таких как recall и AUC-ROC. Результаты исследования демонстрируют универсальность и эффективность подходов при работе с редкими событиями.

ABSTRACT

The paper examines approaches to handling imbalanced data using the analysis of user behavior in the "Sber AutoSubscription" service as an example. Methods of resampling, feature generation, and the use of specialized metrics and algorithms are described. A comprehensive strategy for addressing class imbalance is proposed, validated by improvements in metrics such as recall and AUC-ROC. The findings highlight the universality and effectiveness of the approaches in dealing with rare events. 

 

Ключевые слова: несбалансированные данные; ресэмплинг; взвешивание классов; LightGBM; TargetEncoder; машинное обучение; ROC-AUC; предобработка данных; ансамблевые методы; анализ данных.

Keywords: Unbalanced data; resampling; class weighting; LightGBM; TargetEncoder; machine learning; ROC-AUC; data preprocessing; ensemble methods; data analysis.

 

Введение

Работа с несбалансированными данными – одна из ключевых задач в области анализа данных и машинного обучения. Несбалансированность классов может существенно осложнить построение предсказательных моделей, снижая их эффективность и приводя к ошибкам в оценке. В рамках проекта, связанного с анализом пользовательского поведения сервиса "Сбер АвтоПодписка", также была выявлена проблема дисбаланса целевых классов. Настоящая статья описывает подходы к решению этой проблемы на примере данной работы.

Проблема дисбаланса классов

Целевая переменная в проекте отражала факт совершения целевого действия пользователем, который происходил только в 2,9% случаев. Это означает, что данные были сильно несбалансированы: на каждый положительный пример приходилось примерно 97 отрицательных. Подобный дисбаланс приводит к: смещению модели в сторону доминирующего класса, трудностям в интерпретации результатов, снижению метрик, связанных с меньшинственным классом (recall, F1-мера).

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

Методы обработки несбалансированных данных

1. Изменение структуры данных

Oversampling:

Для увеличения частоты меньшинственного класса использовался алгоритм SMOTE (Synthetic Minority Over-sampling Technique), который создает синтетические примеры на основе k-ближайших соседей.

Пример использования: библиотека imbalanced-learn в Python.

Дополнительно был протестирован ADASYN (Adaptive Synthetic Sampling), который учитывает распределение меньшинственного класса в пространстве признаков.

Undersampling:

Уменьшение количества примеров доминирующего класса до уровня меньшинственного.

Применялось ограниченно, так как это могло привести к потере важной информации. Использовались такие алгоритмы, как NearMiss и Tomek Links для точного удаления избыточных данных.

2. Использование специальных алгоритмов

Алгоритмы, учитывающие вес классов:

Модели, такие как Random Forest и Gradient Boosting, позволяли задавать веса для классов. Это стимулировало модель уделять больше внимания меньшинственному классу. Пример реализации: в библиотеке sklearn параметр class_weight.

В проекте была протестирована также модификация XGBoost с учетом параметра scale_pos_weight, который настраивает баланс классов в процессе обучения.

При подборе гиперпараметров акцент делался на метриках, чувствительных к дисбалансу (например, AUC-ROC), а также использовались библиотеки Optuna и GridSearchCV для автоматизации выбора оптимальных параметров.

3. Генерация новых признаков

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

Для реализации генерации новых признаков использовалась пользовательская функция features_add. Эта функция включала в себя преобразование разрешения экрана устройства в логарифмическую шкалу, добавление признаков, связанных с временными характеристиками (час, день недели, дни с начала наблюдений), генерацию комбинированных признаков, например, объединение UTM-меток с временными параметрами.

4. Выбор метрик

Для корректной оценки эффективности модели использовались F1-мера (сбалансированный показатель точности и полноты), AUC-ROC (площадь под кривой ошибок), Precision-Recall (кривая, которая наглядно показывает качество работы с меньшинственным классом).

Дополнительно оценивались такие метрики, как Matthews correlation coefficient (MCC), отражающая баланс между классами, и Cohen's Kappa, позволяющая оценить согласованность предсказаний модели.

Для работы с несбалансированными данными был построен обработчик на основе sklearn и imblearn. Основные этапы обработки включали в себя предобработку данных с использованием пайплайнов ColumnTransformer и FunctionTransformer, удаление неинформативных столбцов с помощью функции drop_useless_columns, масштабирование числовых данных и кодирование категориальных признаков с использованием StandardScaler и TargetEncoder.

Модели, которые были использованы в проекте это - LGBMClassifier с параметрами, оптимизированными для несбалансированных данных, HistGradientBoostingClassifier и LogisticRegression с учетом весов классов, CatBoostClassifier, обученный с использованием GPU, сложный ансамбль моделей, реализованный через StackingClassifier.

Каждая модель оценивалась с помощью ROC-AUC, и для борьбы с дисбалансом использовался RandomUnderSampler для уменьшения доминирующего класса.

Результаты применения подходов

Применение вышеперечисленных методов привело к увеличению recall меньшинственного класса с 0.15 до 0.45 при сохранении высокого значения precision (0.85), обеспечению рост F1-меры для меньшинственного класса с 0.25 до 0.59, также значительно улучшить AUC-ROC до 0.92, что говорит о высокой общей эффективности модели и снизилось влияние шумовых данных за счет использования методов фильтрации.

Дополнительно была проведена интерпретация модели с помощью SHAP (SHapley Additive exPlanations), что позволило выявить наиболее значимые признаки для предсказания целевого действия.

Выводы

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

 

Список литературы:

  1. Абраменкова И. В., Круглов В. В. Методы восстановления пропусков в массивах данных // Программные продукты и системы. 2005. №2. URL: https://cyberleninka.ru/article/n/metody-vosstanovleniya-propuskov-v-massivah-dannyh (дата обращения: 07.01.2025).
  2. Хузяханов Е.И., Шарко С.С., Поляков П.М. Эффективные методы предобработки данных: как подготовить данные для машинного обучения // Современные научные исследования и инновации. 2024. № 11 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2024/11/102801 (дата обращения: 07.01.2025).
  3. Махсотова Цагана Валентиновна Исследование методов классификации при несбалансированности классов // Научный журнал. 2017. №5 (18). URL: https://cyberleninka.ru/article/n/issledovanie-metodov-klassifikatsii-pri-nesbalansirovannosti-klassov (дата обращения: 07.01.2025).

Оставить комментарий