Питання стоїть під неправильним припущенням. Багато людей роблять те, що ти кажеш, що "не можуть".
Насправді реалізація пошуку в сітці у широко розгорнутому пакеті sklearn робить саме це. Якщо тільки refit=False
вона не перекваліфікує остаточну модель, використовуючи всі дані.
Я думаю, що для деяких гіперпараметрів це може бути не дуже бажаним, оскільки вони відносно обсягу даних. Наприклад, розглянемо min_samples_leaf
тактику попередньої обрізки дерева рішень . Якщо у вас є більше даних, попередня обрізка може не виконуватись так, як вам потрібно.
Але знову ж таки, більшість людей насправді перекваліфікуються, використовуючи всі дані після перехресної перевірки, щоб вони виявилися найкращою можливою моделлю.
Додаток: @NeilSlater вказує нижче, що деякі люди проводять перерви на резюме. Іншими словами, вони проходять тест поїздів і потім виконують вибір моделі на тренуванні. За його словами, вони перекваліфікуються, використовуючи оригінальний тренувальний набір розділений, але не тестовий набір. Потім тестовий набір використовується для оцінки остаточної оцінки моделі. Особисто я бачу три недоліки в цьому: (а) це не вирішує проблему, про яку я згадав, коли деякі гіперпараметри залежать від обсягу навчання, оскільки ви все одно перепідготовки, (б) під час тестування багатьох моделей я віддаю перевагу більш досконалим. такі методи, як вкладене перехресне підтвердження, щоб жодні дані не втрачали трату, і (c) затримка - це жахливий спосіб зробити висновок про те, як модель буде узагальнена, коли у вас мало даних.