Обычно мы разделяем наш набор данных на обучающие и тестовые наборы. Затем мы обучаем нашу модель с данными поезда и оцениваем ее на тестовых данных. Такой подход позволяет нашей модели видеть только обучающий набор данных, который обычно составляет около 4/5 данных.

Лучшим способом обобщения производительности модели является перекрестная проверка, поскольку она позволяет нам использовать больше данных. При перекрестной проверке различные модели строятся с использованием разных обучающих и непересекающихся наборов тестов. Производительность на тестовых наборах затем агрегируется для получения лучших результатов. Предположим, вы разделили свои данные на наборы для проверки и проверки обучения. Обычно вы не разделяете его на train-test, если ваши модели не имеют гиперпараметров.

имеются основные области применения перекрестной проверки.

  1. Настройка гиперпараметров. Лассо имеет параметр λ . Мы не знаем, какой λ мы должны использовать. Итак, мы разделили это на обучающий набор и тестовый набор. Попробуйте разные λ с этими «подзадачами» и посмотрите, какое λ дает наилучшую производительность.
  2. Перекрестная проверка тесно связана с набором проверки и выбором гиперпараметров. В общем, перекрестная проверка многократно разбивает вашу большую массу (обучение + проверка) на обучающие и проверочные наборы. Это должно предоставить вам приближение производительности вне выборки, и на его основе вы выбираете свои гиперпараметры (модель). Однако вы можете рассматривать свой класс модели (случайный лес, SVM, нейронная сеть) как гиперпараметр. Таким образом, вы можете выбрать окончательный класс модели с помощью перекрестной проверки.

Отложенная перекрестная проверка

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

  1. Учебный набор используется для соответствия различным моделям,
  2. Набор проверки используется для выбора лучших гиперпараметров; и,
  3. Тестовый набор используется для проверки прогностической эффективности модели.

Перекрестная проверка K-кратности

Особым недостатком метода удержания является то, что оценка производительности чувствительна к тому, как разделены подмножества обучения и проверки. Таким образом, для учета этого ограничения был разработан метод перекрестной проверки k-кратности. Техника проводится в несколько этапов, где

  1. Набор обучающих данных случайным образом разбивается на k-кратность без замены, где k-1 кратность используется для обучения модели, а 1-кратность используется для тестирования модели.
  2. Шаг 1 повторяется k раз, чтобы получить k-оценки производительности модели.
  3. Средняя производительность модели впоследствии рассчитывается на основе результатов каждой независимой свертки, что дает оценку производительности, которая менее чувствительна к подразделению обучающих данных.

from sklearn.cross_validation import cross_val_score
scores = cross_val_score(estimator=pipe_lr,
                         X=X_train, 
                         y=y_train, cv=4,
                         n_jobs=1)

заключение

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