Хотите убедиться, что ваша модель машинного обучения подходит и хорошо работает с данными мира чтения?

Что ж, вы попали в нужное место !!

В этой статье мы постараемся объяснить, ПОЧЕМУ, ЧТО и КАК перекрестная проверка! Давайте запачкаем руки каким-нибудь кодом.

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

В : ПОЧЕМУ мне следует использовать перекрестную проверку?
Ответ: Перекрестная проверка (CV) - это первый и самый важный шаг при создании вашей машины. Модель обучения. Если вы собираетесь строить модели, сначала разделите данные! Если у вас есть хорошая перекрестная проверка, тогда ваши данные проверки / тестирования будут хорошим представлением ваших данных обучения / реальных данных. В конце концов, мы все хотим создавать хорошие модели машинного обучения.

Код: импорт пакета перекрестной проверки.

В: Что такое перекрестная проверка и как ее реализовать для моей модели?
Ответ: Как обсуждалось выше, CV помогает улучшить вашу модель, устраняя проблему переобучения. .

Существуют различные типы резюме, которые мы можем использовать на основе имеющегося у нас набора данных.
1. k-кратное резюме
2. Стратифицированное k-кратное резюме
3. Проверка на основе задержки
4. Резюме с исключением одного элемента
5. Группа k-кратных резюме

CV делит данные обучения на несколько частей, а именно на обучение и проверку. Мы обучаем модель на обучающей части и тестируем модель на проверочной / тестовой.

k- кратная CV - мы можем разделить данные на k различных наборов, которые не зависят друг от друга. Это называется K-кратное резюме.

Мы разбиваем данные на k равных частей, используя KFold из scikit-learn. Каждой выборке присваивается значение от 0 до k-1.

Параметры:

  1. имя_модели: укажите имя модели, в которой в настоящее время используются ваши данные.
  2. X: обычно представляет ваши независимые переменные, это входные данные для процесса, который анализируется.
  3. y: это зависимые переменные, которые являются выходными данными для данного набора данных.
  4. cv: перекрестная проверка, число представляет значение K.
  5. оценка: это параметр, с помощью которого мы хотим определить нашу модель. Существуют различные методы оценки как для регрессии, так и для классификации, вы можете проверить их все с помощью этого кода:

2. Стратифицированная k-кратная проверка. Следующим важным типом перекрестной проверки является стратифицированная k-кратная проверка. Если у вас искаженный набор данных для двоичной классификации с 90% положительных образцов и только 10% отрицательных образцов, вы не хотите использовать случайную k-кратную перекрестную проверку.
Этот метод поддерживает постоянное соотношение этикеток в каждой складке. Таким образом, при каждом сгибе у вас будут одни и те же 90% положительных и 10% отрицательных образцов. Таким образом, какую бы метрику вы ни выбрали для оценки, она даст одинаковые результаты для всех складок.
Код легко изменить со случайной перекрестной проверки в k-кратном порядке на стратифицированную перекрестную проверку в k-кратном размере, код:

3. Проверка на основе задержки: предположим, что наш набор данных довольно велик, что вам тогда делать? Предположим, у вас есть 1 миллион образцов. Пятикратная перекрестная проверка будет означать обучение на 800 тыс. Образцов и проверку на 200 тыс. В зависимости от того, какой алгоритм мы выберем, обучение и даже проверка могут быть очень дорогими для набора данных такого размера. В этих случаях вы можете выбрать проверку на основе задержки. Эта проверка обычно используется с данными временных рядов.

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

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

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