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

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

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

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

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

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

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

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

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

Повторная выборка:

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

  1. Перевыборка.
    Передискретизация включает в себя дублирование примеров из класса меньшинства, чтобы увеличить его размер по сравнению с классом большинства. Это может привести к переоснащению, поскольку модель подвергается воздействию одних и тех же примеров несколько раз.
  2. Недостаточная выборка:
    Недостаточная выборка включает удаление примеров из класса большинства, чтобы уменьшить его размер по сравнению с классом меньшинства. Это может привести к потере информации, так как ценная информация из класса большинства может быть потеряна.
  3. Техника передискретизации синтетического меньшинства (SMOTE):
    SMOTE – это популярный метод передискретизации, который генерирует синтетические примеры для класса меньшинства. Синтетические примеры создаются путем интерполяции между существующими примерами из класса меньшинства. SMOTE с меньшей вероятностью приведет к переоснащению, чем простая передискретизация, поскольку синтетические примеры не являются точными копиями существующих примеров.

Соответствующие показатели

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

  1. Матрица путаницы.
    Матрица путаницы — это таблица, которая используется для оценки эффективности модели классификации. Он предоставляет информацию об истинно положительных (TP), ложноположительных (FP), истинно отрицательных (TN) и ложноотрицательных (FN) показателях модели.
  2. Точность и полнота.
    Точность и полнота — это показатели, которые используются для оценки эффективности модели классификации. Точность — это доля истинно положительных прогнозов, которые являются правильными среди всех положительных прогнозов, т. е. точность = TP / (TP + FP), а полнота — это доля истинно положительных прогнозов, которые правильно идентифицированы, т. е. отзыв = TP / (TP + FN ). В несбалансированных наборах данных полнота часто важнее точности, поскольку она измеряет способность модели правильно идентифицировать класс меньшинства.
  3. Показатель F1.
    Показатель F1 представляет собой гармоническое среднее значение точности и полноты и представляет собой единую меру общей производительности модели. В несбалансированных наборах данных оценка F1 является хорошей метрикой для использования, поскольку она уравновешивает компромисс между точностью и полнотой. Математическое определение для лучшего понимания:
F1 Score = 2 * (Precision * Recall) / (Precision + Recall)

Алгоритмы для несбалансированных наборов данных

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

  • Деревья решений и случайные леса:

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

  • Машины опорных векторов:

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

Заключение

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

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

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