Вы устали строить модели машинного обучения только для того, чтобы они с треском провалились на несбалансированных наборах данных? Вы обнаруживаете, что постоянно боретесь с классом большинства, пытаетесь дать классу меньшинства справедливую встряску? Вы испробовали все возможные способы повысить точность своей лучшей разработанной модели машинного обучения и разочаровались в результатах? Ну, не бойся! Пришло время сразиться с несбалансированными наборами данных и выйти победителем. В этой статье мы рассмотрим различные методы и алгоритмы, которые вы можете использовать для обработки несбалансированных наборов данных и построения моделей, которые хорошо работают как для большинства, так и для меньшинства классов. Так что надевайте плащ супергероя, выпейте чашечку кофе и приготовьтесь победить дисбаланс данных!
Несбалансированность данных — распространенная проблема в машинном обучении, когда распределение классов в целевой переменной искажено. В несбалансированных наборах данных класс меньшинства часто подавляется классом большинства, что приводит к предвзятым моделям, которые плохо работают с классом меньшинства.
Алгоритмы машинного обучения предназначены для изучения закономерностей в данных и создания прогнозов на основе этих закономерностей. Когда данные несбалансированы, алгоритмы склонны отдавать предпочтение классу большинства и игнорировать класс меньшинства. Это может привести к неоптимальной производительности миноритарного класса, особенно в таких приложениях, как обнаружение мошенничества, медицинская диагностика и прогнозирование оттока клиентов, где миноритарный класс представляет большой интерес.
Понимание проблемы несбалансированных наборов данных
В машинном обучении у нас часто есть целевая переменная, которую мы хотим предсказать. Целевая переменная может принимать одно из нескольких возможных значений или классов. Например, в задаче обнаружения мошенничества целевой переменной может быть двоичная переменная, указывающая, является ли транзакция мошеннической или нет.
Когда распределение классов в целевой переменной несбалансированно, это означает, что один класс чрезмерно представлен по отношению к другому классу. Например, в задаче обнаружения мошенничества, если только 1% транзакций являются мошенническими, то набор данных несбалансирован по отношению к мошенническому классу.
Проблема с несбалансированными наборами данных заключается в том, что алгоритмы машинного обучения предназначены для оптимизации точности, что не всегда является лучшим показателем для несбалансированных наборов данных. В несбалансированных наборах данных точность может вводить в заблуждение, поскольку модель, которая всегда предсказывает класс большинства, может достичь высокой точности, даже если она бесполезна для класса меньшинства.
Подходы к работе с несбалансированными наборами данных
Существует несколько подходов к обработке несбалансированных наборов данных в машинном обучении, включая повторную выборку, передискретизацию и недостаточную выборку с использованием соответствующих показателей и алгоритмов, разработанных для несбалансированных наборов данных.
Повторная выборка:
Повторная выборка включает в себя изменение размера классов в наборе данных путем либо избыточной выборки класса меньшинства, либо недостаточной выборки класса большинства, либо их комбинации.
- Перевыборка.
Передискретизация включает в себя дублирование примеров из класса меньшинства, чтобы увеличить его размер по сравнению с классом большинства. Это может привести к переоснащению, поскольку модель подвергается воздействию одних и тех же примеров несколько раз. - Недостаточная выборка:
Недостаточная выборка включает удаление примеров из класса большинства, чтобы уменьшить его размер по сравнению с классом меньшинства. Это может привести к потере информации, так как ценная информация из класса большинства может быть потеряна. - Техника передискретизации синтетического меньшинства (SMOTE):
SMOTE – это популярный метод передискретизации, который генерирует синтетические примеры для класса меньшинства. Синтетические примеры создаются путем интерполяции между существующими примерами из класса меньшинства. SMOTE с меньшей вероятностью приведет к переоснащению, чем простая передискретизация, поскольку синтетические примеры не являются точными копиями существующих примеров.
Соответствующие показатели
При оценке производительности модели на несбалансированном наборе данных важно использовать метрики, подходящие для несбалансированных наборов данных.
- Матрица путаницы.
Матрица путаницы — это таблица, которая используется для оценки эффективности модели классификации. Он предоставляет информацию об истинно положительных (TP), ложноположительных (FP), истинно отрицательных (TN) и ложноотрицательных (FN) показателях модели. - Точность и полнота.
Точность и полнота — это показатели, которые используются для оценки эффективности модели классификации. Точность — это доля истинно положительных прогнозов, которые являются правильными среди всех положительных прогнозов, т. е. точность = TP / (TP + FP), а полнота — это доля истинно положительных прогнозов, которые правильно идентифицированы, т. е. отзыв = TP / (TP + FN ). В несбалансированных наборах данных полнота часто важнее точности, поскольку она измеряет способность модели правильно идентифицировать класс меньшинства. - Показатель F1.
Показатель F1 представляет собой гармоническое среднее значение точности и полноты и представляет собой единую меру общей производительности модели. В несбалансированных наборах данных оценка F1 является хорошей метрикой для использования, поскольку она уравновешивает компромисс между точностью и полнотой. Математическое определение для лучшего понимания:
F1 Score = 2 * (Precision * Recall) / (Precision + Recall)
Алгоритмы для несбалансированных наборов данных
Существует несколько алгоритмов машинного обучения, специально разработанных для несбалансированных наборов данных, включая деревья решений, случайные леса и методы опорных векторов.
- Деревья решений и случайные леса:
Деревья решений и случайные леса — это популярные алгоритмы машинного обучения, которые могут обрабатывать несбалансированные наборы данных. Деревья решений работают, разбивая данные на подмножества на основе признаков, в то время как случайные леса работают, комбинируя несколько деревьев решений, чтобы уменьшить переоснащение. И деревья решений, и случайные леса могут обрабатывать несбалансированные наборы данных, присваивая классу меньшинства больший вес, чем классу большинства. Это гарантирует, что модель уделяет больше внимания классу меньшинства и с меньшей вероятностью будет смещена в сторону класса большинства.
- Машины опорных векторов:
Машины опорных векторов (SVM) — это алгоритмы машинного обучения, которые можно использовать как для классификации, так и для регрессии. SVM могут обрабатывать несбалансированные наборы данных с помощью метода, называемого обучением с учетом затрат, при котором разные затраты назначаются разным классам в зависимости от их частоты в данных. При обучении с учетом затрат классу меньшинства назначается более высокая стоимость, что гарантирует, что модель уделяет больше внимания классу меньшинства. Это делает SVM хорошим выбором для несбалансированных наборов данных, особенно в таких приложениях, как обнаружение мошенничества и медицинская диагностика, где класс меньшинства представляет большой интерес.
Заключение
В заключение можно сказать, что обработка несбалансированных наборов данных в машинном обучении является распространенной проблемой, требующей вдумчивого подхода. Такие методы, как повторная выборка, использование соответствующих метрик и использование алгоритмов, разработанных для несбалансированных наборов данных, могут помочь решить проблему несбалансированности данных и гарантировать, что модель способна хорошо работать с классом меньшинства.
Важно понимать проблему несбалансированных наборов данных и выбирать правильный подход, исходя из конкретных требований проблемы. При тщательном рассмотрении и использовании правильных методов можно построить точные и надежные модели даже на несбалансированных наборах данных.
Спасибо, что прочитали мою статью. Надеюсь, вы нашли его познавательным и ценным. Если вы хотите быть в курсе моих последних размышлений о науке о данных, рассмотрите возможность подписаться на меня для постоянного потока контента, который обязательно удовлетворит ваше любопытство.