¿Hay alguna manera de realizar una validación cruzada de k-fold con la plataforma de árbol potenciado?
Si bien entiendo que esto se puede hacer en la selección de modelos, necesito hiperajustar con el k-fold que proporciona el máximo rendimiento. Entonces, en lugar de usar la selección de modelos, ¿hay alguna manera de hacer una validación cruzada de k-fold con el modelado predictivo de árbol mejorado donde también pueda hiperajustar otros parámetros?
Gracias por tomarte el tiempo para responderme.
Nisha
Intentaría usar la aplicación XGBoost si quieres usar K-fold y Boosted Tree.
Complemento XGBoost para JMP Pro - Comunidad de usuarios de JMP
Steve
Hola @NishaKumar2023 ,
Puede utilizar la validación cruzada de K-folds mientras ajusta sus hiperparámetros, pero no funciona exactamente como desea. Esta es la metodología:
- Cree una columna de validación de K-folds (ya sea fija o una fórmula según sus objetivos y necesidades de reproducibilidad): Inicie la plataforma Make Validation Column (jmp.com)
Asegúrese de que la división de sus datos en pliegues sea representativa y equilibrada, mediante el uso de estratificación, o que respete la restricción/duplicación de sus datos mediante el uso de agrupación (mismo ID en el mismo pliegue, por ejemplo).
- Abra o cree una tabla de datos de ajuste para el Boosted Tree (o cualquier otra plataforma) que desee iniciar. Agregué una copia de ejemplo para el Boosted Tree, pero puede encontrar otras tablas de ajuste proporcionadas por @SDF1 en esta publicación: ¿Mal funcionamiento en Bootstrap Forest con la tabla de diseño de ajuste?
- Al iniciar Boosted Tree (o cualquier otra plataforma de modelado, especifique sus entradas, la respuesta al modelo y use la columna de validación K-folds en el panel de validación (aquí en el conjunto de datos Mushroom JMP):

- Aparecerá una nueva ventana, debes marcar "Usar tabla de afinación" y luego seleccionar tu tabla de afinación ya abierta:

- A continuación, tendrás los resultados proporcionados por los modelos mejor ajustados:

Tenga en cuenta que este método no es adecuado para la validación cruzada de K-folds, ya que el uso de tablas de ajuste implica una partición de sus datos solo en 3 conjuntos:
- Conjunto de entrenamiento: se utiliza para el entrenamiento real de los modelos.
- Conjunto de validación: se utiliza para la optimización del modelo (ajuste fino de hiperparámetros, selección de características/umbral, etc., por ejemplo) y la selección del modelo.
- Conjunto de prueba: se utiliza para la generalización y la evaluación predictiva del rendimiento del modelo seleccionado en datos nuevos/no vistos.
Por lo tanto, si especifica una validación cruzada de 5 pliegues en el paso 1, solo se utilizarán los primeros 3 pliegues como conjuntos de entrenamiento, validación y prueba, no realmente como una técnica de validación cruzada de 5 pliegues. Para realizar una validación cruzada como la que pretende hacer, necesitaría una validación cruzada anidada: una validación cruzada interna para ajustar los hiperparámetros y una validación cruzada externa para evaluar la solidez de los valores de hiperparámetros encontrados, solo disponible en la plataforma de selección de modelos y no acepta tablas de ajuste para el ajuste de hiperparámetros (ya que el objetivo de esta plataforma es seleccionar los algoritmos más prometedores entre una gran variedad de tipos de modelos, no ajustarlos):

Hasta donde yo sé, esto no es (directamente) posible en JMP.
Pero aún puede usar la validación cruzada de K-folds en el Boosted Tree "predeterminado", o intentar usar otras técnicas de validación, siguiendo el método anterior (pero creando una columna de validación de fórmula normal con 3 conjuntos) y usando simulación en el modelo ajustado para evaluar su solidez y beneficio frente a uno no ajustado:

Se puede ver que en la mayoría de los casos, los valores de hiperparámetros predeterminados funcionan bastante bien, y el ajuste de hiperparámetros ayuda más en la variabilidad del rendimiento (los valores de rendimiento como RASE, R-cuadrado, ... tienen rangos más estrechos en el algoritmo ajustado en comparación con el "predeterminado") que en los rendimientos máximos o promedio del algoritmo.
Puede consultar una publicación similar y una solución aquí sobre este tema para echar un vistazo a las técnicas de validación y el uso de simulación: Resuelto: Re: Boosted Tree - Tuning TABLE DESIGN - Comunidad de usuarios de JMP
La validación cruzada anidada normalmente no es la primera opción que recomendaría, ya que requiere una gran cantidad de cálculos para ajustar el algoritmo de forma independiente en cada uno de los pliegues del bucle interno y luego calcular el rendimiento en cada pliegue de validación del bucle externo.
La validación cruzada de K-folds es una técnica útil en ausencia de una gran cantidad de datos, pero la validación cruzada anidada aún requiere una cantidad bastante grande para realizar correctamente la división de datos: por ejemplo, si divide el bucle interno en 4 pliegues y el bucle externo en 5 pliegues, ¡requiere crear 20 pliegues/grupos en su conjunto de datos!
Finalmente, la validación cruzada es más una técnica de ajuste que una técnica de validación para evaluar la robustez del modelo, como lo describe brillantemente Cassie Kozyrkov en este video: https://youtu.be/zqD0lQy_w40?si=lja79_aik0KO-jbB
Espero que esta respuesta te ayude.
@shampton82 Muchas gracias, esto me permitió crear la columna k fold (val) y ejecutar el árbol potenciado.
¡Muchas gracias @Victor_G ! Tu explicación me resultó muy útil, especialmente para el siguiente paso en el hiperajuste. Pude crear la columna de valores de pliegue k mediante xgboost y ejecutar el árbol potenciado, pero proporcionaré instrucciones y recursos que me serán de utilidad para los próximos pasos. ¡Gracias!