Наборы данных в целом создают множество проблем при работе с ними. Какие самые распространенные?

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

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

· Может быть несбалансированным

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

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

Что такое несбалансированный набор данных?

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

Пример набора данных об увольнении сотрудников. Мы видим, что существует классовый дисбаланс.

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

  • Используйте модели на основе дерева - модели на основе дерева с большей вероятностью будут лучше работать с несбалансированными наборами данных. По сути, они строят иерархии на основе точек разделения / принятия решений, которые могут лучше разделить классы.
  • Собирайте больше данных - больше данных может сбалансировать ваш набор данных или может сделать его еще более несбалансированным. В любом случае вам нужно более полное представление о данных. Так что сбор дополнительных данных всегда можно рассматривать как вариант.

Теперь давайте обсудим несколько методов обработки несбалансированных наборов данных.

1) Использование правильных показателей оценки

2) Улучшите выборку класса меньшинства

3) Выполните понижающую выборку класса большинства

4) Используйте перекрестную проверку K-Fold

5) SMOTE

Использование правильных показателей оценки

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

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

TruePositive / (TruePositive + FalseNegative)

Точность. Точность суммирует долю примеров, которым присвоен положительный класс, которые принадлежат к положительному классу.

TruePositive / (TruePositive + FalsePositive)

F1 Оценка. Оценка F1 представляет собой число от 0 до 1 и представляет собой среднее гармоническое значение точности и запоминания.

Повышающая дискретизация или передискретизация

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

Теперь мы видим, что в новом фрейме данных больше наблюдений, чем в исходном. Кроме того, соотношение обоих классов теперь 1: 1.

Пониженная выборка или недостаточная выборка

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

Использование перекрестной проверки K-Fold

Важно, чтобы перекрестная проверка применялась правильно при использовании метода передискретизации для решения проблем дисбаланса. Перекрестная проверка - это процедура повторной выборки, используемая для оценки моделей машинного обучения на ограниченной выборке данных. У процедуры есть единственный параметр, называемый k, который относится к количеству групп, на которые должна быть разбита данная выборка данных. Таким образом, процедуру часто называют перекрестной проверкой в ​​k-кратном порядке. Когда выбрано конкретное значение k, оно может использоваться вместо k в ссылке на модель, например, k = 10 становится 10-кратной перекрестной проверкой.

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

SMOTE

Метод синтетической передискретизации меньшинства (SMOTE) - очень популярный метод передискретизации, который был предложен для улучшения случайной передискретизации, но ее поведения на данных большой размерности.

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

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

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

Заключение

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

- При сравнении моделей следует учитывать соответствующие параметры оценки.

- В некоторых случаях синтетические методы выборки, такие как SMOTE, дают лучший результат вместе с расширенными методами повышения, такими как Gradient Boosting и XG Boost.

- Можно использовать методы повторной выборки, но их нужно тщательно продумать.

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