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

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

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

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

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

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

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

Два идеально сбалансированных класса ![Линейчатая диаграмма с двумя сбалансированными классами.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/class-balancing-1.png)

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

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

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

Примеры классов с неравным балансом ![Линейчатая диаграмма с неравномерно сбалансированными классами.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/class-balancing-2.png)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Избыточная выборка данных из миноритарного класса (синий) для выравнивания баланса с мажоритарным классом (зеленый) ![Иллюстрация избыточной выборки.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/machine-learning_oversampling.png)

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

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

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

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

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

Выборка данных из мажоритарного класса (синий) для выравнивания баланса с миноритарным классом (зеленый) ![Иллюстрация метода undersampling.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/machine-learning_undersampling.png)

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

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

Дополнительную информацию об обнаружении дисбаланса и используемый специальный вид обработки см. в разделе [Балансировка классов](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/intelligent-model-optimization.htm#ClassBal).