@DennisSoemers tiene una gran solución. Voy a añadir dos soluciones similares que son un poco más explícitas y se basan en Ingeniería y selección de características: Un enfoque práctico para los modelos predictivos por Max Kuhn y Kjell Johnson.
Kuhn utiliza el término resample
para describir un fold
de un conjunto de datos, pero el término dominante en StackExchange parece ser fold
por lo que utilizaré el término fold
abajo.
Opción 1 - búsqueda anidada
Si la potencia de cálculo no es un factor limitante, se recomienda un enfoque de validación anidado, en el que hay 3 niveles de anidación:
1) los pliegues externos, cada uno con un subconjunto de características diferente
2) los pliegues internos, cada pliegue con una búsqueda de hiperparámetros
3) los pliegues internos de cada búsqueda de hiperparámetros, cada pliegue con un conjunto de hiperparámetros diferente.
Este es el algoritmo:
-> Split data into train and test sets.
-> For each external fold of train set:
-> Select feature subset.
-> Split into external train and test sets.
-> For each internal fold of external train set:
-> Split into internal train and test sets.
-> Perform hyperparameter tuning on the internal train set. Note that this
step is another level of nesting in which the internal train set is split
into multiple folds and different hyperparameter sets are trained and tested on
different folds.
-> Examine the performance of the best hyperparameter tuned model
from each of the inner test folds. If performance is consistent, redo
the internal hyperparameter tuning step on the entire external train set.
-> Test the model with the best hyperparameter set on the external test set.
-> Choose the feature set with the best external test score.
-> Retrain the model on all of the training data using the best feature set
and best hyperparameters for that feature set.
Imagen del capítulo 11.2: Filtros simples
El -> Select feature subset
se supone que es aleatorio, pero hay otras técnicas, que se describen en el libro en Capítulo 11 .
Para aclarar el -> Perform hyperparameter tuning step
puede leer sobre el enfoque recomendado de validación cruzada anidada . La idea es comprobar la solidez de un proceso de formación realizando repetidamente el proceso de formación y prueba en diferentes pliegues de los datos, y observando la media de los resultados de la prueba.
Opción 2 - búsqueda separada de hiperparámetros y selección de características
-> Split data into hyperameter_train, feature_selection_train, and test sets.
-> Select a reasonable subset of features using expert knowledge.
-> Perform nested cross validation with the initial features and the
hyperparameter_train set to find the best hyperparameters as outlined in option 1.
-> Use the best hyperparameters and the feature_selection_train set to find
the best set of features. Again, this process could be nested cross
validation or not, depending on the computational cost that it would take
and the cost that is tolerable.
Así es como Kuhn y Johsnon expresan el proceso:
Cuando se combina un método de búsqueda global con un modelo que tiene sintonía recomendamos que, cuando sea posible, el conjunto de características sea primero de características utilizando el conocimiento de los expertos sobre el problema. A continuación, es importante importante identificar un rango razonable de valores de los parámetros de ajuste. Si se dispone de un número suficiente de muestras, una parte de ellas de ellas puede dividirse y utilizarse para encontrar un rango de valores de parámetros potencialmente buenos utilizando todas las características. valores de los parámetros potencialmente buenos utilizando todas las características. Los valores de los parámetros de ajuste de los parámetros de ajuste pueden no ser la elección perfecta para los subconjuntos de características, pero deberían ser razonablemente eficaces para encontrar un subconjunto óptimo.
Capítulo 12.5: Métodos de búsqueda global