Перекрестная проверка в StackingClassifier Scikit-Learn

Aug 20 2020

В Scikit-Learn StackingClassifier документации это написано:

Обратите внимание , что estimators_установлены на полное Xвремя final_estimator_обучено с помощью перекрестных проверки предсказаний базовых оценок с использованием cross_val_predict.

... 5-кратная перекрестная проверка по умолчанию

Мой вопрос, почему 5-кратная перекрестная проверка используется только в окончательной оценке? почему окончательная оценка не помещена на полный X '(результат базовых оценок)?

Ответы

1 RobbytheBelgian Aug 26 2020 at 13:03

Это включает 2 вопроса, я отвечу на каждый из них.

  1. Мы могли бы использовать перекрестную проверку для всей системы, но это было бы слишком для нас.

Цель перекрестной проверки - найти оптимальные параметры, которые позволяют модели хорошо соответствовать данным без чрезмерной подгонки. Достаточно того, что это делает наша окончательная оценка; нет необходимости отдельно выяснять настройки всех базовых оценщиков. Базовые оценщики могут включать, например, набор различных настроек параметров; а также выбор различных типов классификаторов. Если какой-либо из них склонен к переобучению, это должно быть компенсировано другими, не имеющими такой проблемы. Пока окончательный оценщик не помещает все яйца в неправильную корзину, у нас все должно быть хорошо (и именно поэтому нам здесь нужна перекрестная проверка, чтобы этого не произошло).

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