Перекрестная проверка в StackingClassifier Scikit-Learn
В Scikit-Learn StackingClassifier
документации это написано:
Обратите внимание , что
estimators_
установлены на полноеX
времяfinal_estimator_
обучено с помощью перекрестных проверки предсказаний базовых оценок с использованиемcross_val_predict
.
... 5-кратная перекрестная проверка по умолчанию
Мой вопрос, почему 5-кратная перекрестная проверка используется только в окончательной оценке? почему окончательная оценка не помещена на полный X '(результат базовых оценок)?
Ответы
Это включает 2 вопроса, я отвечу на каждый из них.
- Мы могли бы использовать перекрестную проверку для всей системы, но это было бы слишком для нас.
Цель перекрестной проверки - найти оптимальные параметры, которые позволяют модели хорошо соответствовать данным без чрезмерной подгонки. Достаточно того, что это делает наша окончательная оценка; нет необходимости отдельно выяснять настройки всех базовых оценщиков. Базовые оценщики могут включать, например, набор различных настроек параметров; а также выбор различных типов классификаторов. Если какой-либо из них склонен к переобучению, это должно быть компенсировано другими, не имеющими такой проблемы. Пока окончательный оценщик не помещает все яйца в неправильную корзину, у нас все должно быть хорошо (и именно поэтому нам здесь нужна перекрестная проверка, чтобы этого не произошло).
- Мы будем готовить окончательный оценщик на полный комплект обучения - это происходит после того, как мы находим параметры оптимальных или набор базовых оценок с использованием кросс-проверки. Как следует из названия, перекрестная проверка предназначена для проверки метода. Не для создания окончательной модели.