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

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

Постановка проблемы:

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

Ограничения

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

Обзор данных

Данные были в файлах train.csv, test.csv, sample_submission.csv

  • train.csv - обучающий набор содержит 250 строк → размер 471 КБ
  • test.csv - набор тестов содержит 19 750 строк → размер 36,2 МБ
  • sample_submission.csv - образец файла для отправки в правильном формате, то есть в формате, в котором мы должны отправить наш вывод в kaggle для оценки → 144 КБ

Сопоставление проблемы реального мира с проблемой машинного обучения

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

Тип проблемы с опрокидыванием машины

По сути, это проблема классификации двоичного класса, хотя данные не имеют никакого отношения к реальному сценарию. Где нам предоставляется набор данных из 20000 строк и 302 функций, и мы должны обучить модель только на 250 точках данных и протестировать ее на оставшихся 19750 точках данных. С 302 функциями, включая id, target, 0–299 являются непрерывными переменными.

АНАЛИЗ ДАННЫХ:

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

Наблюдение:

Примечание: для простоты я рассматриваю 0 как положительный класс и 1 как отрицательный класс.

Набор данных несбалансирован, так как вероятность появления положительных точек данных класса составляет всего 36%, отрицательные данные класса указывают его почти в 1,78 раза номер точки данных Postive class.

Для каждой точки мы указали целевые метки, поскольку они не имеют никакого значения NaN в целевом объекте, поскольку счетчик удовлетворяет соотношению
общее количество точек данных = Σ (количество точек данных класса Ci)
общее количество точек данных = количество положительных точки данных + количество отрицательных точек данных
→ 250 = 90 + 160

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

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

Построение парного графика между 0–299 случайными величинами похоже на гауссово распределение с некоторым значением среднего и стандартного отклонения, потому что кривая почти симметрична относительно своей средней оси.

Одномерный анализ

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

Наблюдение

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

Наблюдение: -

Из этого графика разброса случайно выбранной характеристики видно, что большой набор точек данных находится в диапазоне от -1 до 1, а также почти все точки находятся в диапазоне от -2 до 2. , хотя это некоторые точки, такие как 10–15 точек, которые имеют значение больше 2 и меньше -2, и очень немногие точки имеют значение меньше 3 или больше 3, а также, как и при наблюдении за линейным графиком, это здесь также замечено, что оно симметрично относительно значения x = 0 {ноль}

Наблюдение: -

Из двух приведенных выше линейных графиков и графиков разброса среднего значения всех характеристик непрерывных переменных 0–299 видно, что большая часть среднего значения всех непрерывных переменных находится в диапазоне от -0,10 до 0,10, в то время как есть несколько точек, которые не находятся в диапазоне от -0,15 до 0,15, а также минимальные и максимальные средние значения составляют примерно -0,22 и 0,18 соответственно. Также все значения очень близки к 0 {нулю}.

Кроме того, оно равномерно симметрично распределено, то есть количество точек в диапазоне от 0 до 0,05 приблизительно равно количеству точек в диапазоне от -0,05 до 0, аналогично количеству точек в диапазоне от 0,05 до 0,10 и от -0,1 до -0,05, От 0,1 до 0,15 и от -0,15 до -0,1, менее -0,15 и более 0,15 примерно равны

Наблюдение: -

Как показано на приведенном выше линейном графике и графике разброса всех стандартных отклонений, я заметил, что большая часть стандартного отклонения функции непрерывной переменной находится в диапазоне от 0,90 до 1,10, в то время как имеется несколько точек, которые не находятся в диапазон от 0,90 до 1,10, а также максимальное и минимальное стандартное отклонение составляют примерно 1,12 и 0,89 соответственно. Также все значения очень близки к 1 {one}

Это распределение стандартного отклонения также одинаково вероятно симметрично, то есть количество стандартных отклонений в интервале от 0,95 до 1 и от 1 до 1,05, от 0,9 до 0,95 и от 1,05 до 1,10, значения меньше 0,9 и больше 1,10 примерно одинаковы.

Примечание:-

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

Многовариантный анализ

Наблюдение:

После запуска ячейки несколько раз я заметил, что все непрерывные переменные характеристики 0–299 имеют одинаковое искажение, потому что на графике QQ точки расположены примерно вдоль опорной линии y = x, а также их PDF полностью перекрывается, а также имеет тенденцию быть стандартным. нормальное гауссовское распределение, поскольку из вышеприведенного наблюдения случайно выбранной характеристики оно похоже на симметричную колоколообразную кривую со средним значением 0 и стандартным отклонением 1 примерно, как мы уже наблюдали в одноэтапном анализе.

КОРРЕЛЯЦИЯ

Наблюдение: -

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

Десять основных функций непрерывных переменных, которые сильно коррелируют с целью:

→ Непрерывная переменная 33

→ Непрерывная переменная 65

→ Непрерывная переменная 217

→ Непрерывная переменная 117

→ Непрерывная переменная 91

→ Непрерывная переменная 295

→ Непрерывная переменная 24

→ Непрерывная переменная 199

→ Непрерывная переменная 80

→ Непрерывная переменная 73

Наблюдение: -

Из приведенной выше гистограммы непрерывной переменной 0–299 в сравнении с корреляцией с целевым показателем четко видно, что большая часть абсолютного значения коэффициента корреляции рангов Спирмена меньше 0,10, в то время как их значение составляет около 20–25 для непрерывных. переменная характеристика, абсолютное значение коэффициента корреляции рангов Спирмена больше 0,10, хотя ни одна из характеристик не сильно коррелирована с целью, поскольку их коэффициент корреляции очень меньше по величине, то есть меньше 0,8.

Показатели эффективности:

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

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

Особенности:

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

  • Минимальное потолочное значение
  • Среднее значение
  • Сумма
  • Умножение максимального и среднего
  • Умножение минимума и суммы

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

МАСШТАБ:

Здесь мы поместили все функции в один масштаб

Модели

Я пробовал различные модели, такие как K-nn, D-Tree, Random Forest, Xgboost, LGBM, Logistic Regression, LASSO, Custom Ensembler model, и т. Д., Затем я придумал эти 4 лучшие модели и после суммирования результатов этой модели , я набрал 0,844

LightGBM (машина для повышения светового градиента)

Рейтинг лидеров среди ЛГБМ

XGBoost

Рейтинг XGBoost в таблице лидеров

Логистическая регрессия

Рейтинг лидеров логистической регрессии

ЛАССО

Рейтинг лидеров LASSO

Укладка над моделями

Полученные результаты

Заключение

После суммирования LGBM, XGBoost, Logistic_Regression, Lasso Model, производительности результирующей модели увеличиваются на тестовых данных на 0,01

Примечание: - Оценка AUC для всех моделей составляет 1.

НАШИ ОЦЕНКИ ВХОДИТ В ТОП 15,8 ПРОЦЕНТОВ НОУТБУКОВ, ПРЕДСТАВЛЕННЫХ ВО ВРЕМЯ СОРЕВНОВАНИЯ

Источники / полезные ссылки

ИСТОЧНИК: - Мы можем загрузить данные из [Не переоснащайте! II]

Исследования:

* Обзор переобучения и его решений

* Как избежать переобучения в машинном обучении

* Классовый дисбаланс | Обработка несбалансированных данных с помощью Python

* Переоснащение и недооценка алгоритмов машинного обучения

* Методы предотвращения переобучения в нейронных сетях

использованная литература

Дальнейшая работа

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

Социальные ссылки: - LinkedIn, GitHub