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

  • Склонность к прогнозированию большего класса

  • Меньшие классы обычно неправильно классифицируются

Набор данных: https://raw.githubusercontent.com/subashgandyer/datasets/main/great_customers.csv

Особенности этого набора данных

['user_id', 'age', 'workclass', 'salary', 'education_rank',
       'marital-status', 'occupation', 'race', 'sex', 'mins_beerdrinking_year',
       'mins_exercising_year', 'works_hours', 'tea_per_year',
       'coffee_per_year', 'great_customer_class'],
      dtype='object'

Данные сильно несбалансированы

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

Метрика производительности

Precision/Specificity: сколько выбранных экземпляров релевантно.

Отзыв/Чувствительность: сколько релевантных экземпляров выбрано.

Оценка F1: среднее гармоническое точности и полноты.

AUC: соотношение между истинно положительными показателями и ложноположительными показателями

Матрица путаницы

Решение: репликация данных (выборка):

  • Повторяйте имеющиеся данные до тех пор, пока количество образцов не станет сопоставимым.

Методы выборки

  • Передискретизация — Дублирование образцов из класса меньшинства

  • Undersampling — Удаление образцов из класса большинства

  • Сочетание обоих методов случайной выборки

Счастливого обучения!