Перейти к основному содержимому Перейти к дополнительному содержимому

Балансировка классов

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

Что представляет собой балансировка классов

Набор данных для двоичной классификации состоит из двух классов. Баланс классов — это относительная частота этих классов.

Если подбросить совершенно случайную монету необходимое количество раз, то получится идеально сбалансированный набор из двух классов (орел и решка). Среднее значение идеально сбалансированных классов равно 0,5 (где один класс равен 1, а другой — 0).

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

Линейчатая диаграмма с двумя сбалансированными классами.

Во многих случаях баланс классов не будет равным. Это может привести к тому, что модель обучения будет основана в большей степени на данных мажоритарного класса, чем на данных миноритарного класса.

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

Линейчатая диаграмма с неравномерно сбалансированными классами.

Пропорциональный перекос

Модель может быть очень точной, если угадать мажоритарный класс для несбалансированных данных. Например, если 95 процентов посетителей веб-сайта ничего не покупают, модель может с точностью до 95 процентов утверждать, что никто ничего не купит. Модель основывается на данных мажоритарного класса, но зачастую гораздо важнее проанализировать данные миноритарного класса. Например, почему остальные 5 процентов посетителей совершают покупки на веб-сайте?

Влияние балансировки классов

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

  • Более высокое значение F1, так как увеличился вес миноритарного класса.

  • В незначительной степени более низкий общий показатель точности, поскольку он не так сильно подвержен пропорциональному перекосу.

  • Более информативная модель, так как она в большей степени ориентируется на признаки и на то, как выделить отдельные классы. Значения SHAP могут быть более информативными в модели со сбалансированными классами.

Обратите внимание, что балансировка классов для небольших наборов данных может привести к потере данных признаков. Кроме того, при изменении пропорций в наборе данных часть информации может быть потеряна, что может исказить прогнозы модели.

Как сбалансировать классы

Для того чтобы сбалансировать данные в классах, сначала необходимо определить, какой баланс является идеальным для конкретного бизнес-сценария. Он может быть где-то от 80/20 до 50/50. Балансировка должна быть достаточной, чтобы получить то, что нужно, поскольку чрезмерная балансировка классов может привести к переобучению модели. Затем необходимо проверить модель с использованием вручную отложенных данных.

Избыточная выборка

Избыточная выборка часто бывает необходима, когда в миноритарном классе не хватает данных.

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

В результате мы получаем набор данных, в котором мажоритарные и миноритарные классы более сбалансированы.

Избыточная выборка данных из миноритарного класса (синий) для выравнивания баланса с мажоритарным классом (зеленый)

Иллюстрация избыточной выборки.

Выборка данных

Используйте выборку данных, когда у вас слишком много данных, особенно для мажоритарного класса.

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

Выборка данных из мажоритарного класса (синий) для выравнивания баланса с миноритарным классом (зеленый)

Иллюстрация метода undersampling.

Автоматическая балансировка классов в Qlik Predict

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

Дополнительную информацию об обнаружении дисбаланса и используемый специальный вид обработки см. в разделе Балансировка классов.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!