La pregunta está bajo una suposición errónea. Muchas personas hacen lo que usted dice que "no pueden" hacer.
De hecho, la implementación de búsqueda de cuadrícula en el paquete sklearn ampliamente implementado hace exactamente eso. A menos refit=Falseque vuelva a entrenar el modelo final utilizando todos los datos.
Creo que para algunos hiperparámetros esto podría no ser muy deseable, ya que son relativos al volumen de datos. Por ejemplo, considere la min_samples_leaftáctica de poda previa para un árbol de decisión . Si tiene más datos, la poda previa puede no funcionar como lo desea.
Pero, de nuevo, la mayoría de las personas de hecho se vuelven a entrenar utilizando todos los datos después de la validación cruzada, para que terminen con el mejor modelo posible.
Anexo: @NeilSlater dice a continuación que algunas personas realizan una suspensión además del CV. En otras palabras, tienen una división de prueba de entrenamiento y luego realizan la selección del modelo en el entrenamiento. Según él, vuelven a entrenar utilizando la división del conjunto de entrenamiento original, pero no el conjunto de prueba. El conjunto de prueba se utiliza para realizar una estimación final del modelo. Personalmente, veo tres fallas en esto: (a) no resuelve el problema que mencioné, ya que algunos hiperparámetros dependen del volumen de entrenamiento ya que de todos modos vuelves a entrenar, (b) cuando pruebas muchos modelos, prefiero más sofisticados métodos como la validación cruzada anidada para que no se desperdicien datos, y (c) la retención es un método horrible para inferir cómo se generalizará un modelo cuando tenga pocos datos.