Franco Manca
Juan R. Vergara M.
Excelente resumen amigo 👍🥇💡
Juan José Mamani Tarqui
Muy buen aporte compañero grxs
Evaluar correctamente un modelo de machine learning es tan importante como construirlo. Sin una validación rigurosa, cualquier resultado puede ser engañoso. Scikit-Learn ofrece herramientas que automatizan este proceso y permiten comparar múltiples configuraciones de datos, parámetros y distribuciones de forma sistemática. Comprender los distintos métodos de validación es clave para elegir el que mejor se adapta a cada proyecto.
¿Por qué la validación es una etapa crítica en machine learning?
En machine learning la última palabra siempre la tienen los datos [0:41]. Nuestras intuiciones no pueden competir con lo que revelan los datos y las matemáticas aplicadas sobre ellos. Por eso se necesita rigorosidad constante al evaluar resultados.
No basta con probar al inicio y al final. La mentalidad correcta es la de un tester continuo: probar varias formas, con varios conjuntos de datos, con varias configuraciones de parámetros y con varias distribuciones [1:10] hasta encontrar la solución óptima.
Una frase muy conocida resume esta filosofía: "todos los modelos son malos, solamente que algunos son útiles" [1:30]. Todo modelo es una sobresimplificación de la realidad. Nunca corresponderá al cien por ciento con lo que ocurre en el mundo real, pero si se configura con habilidad suficiente, puede volverse útil para casos específicos.
¿Qué tipos de validación existen y cuándo usar cada uno?
¿Qué es el enfoque hold out y cuándo conviene aplicarlo?
El método más básico consiste en partir los datos en dos conjuntos: entrenamiento y prueba [2:06], generalmente con un porcentaje fijo como setenta-treinta. Es el enfoque clásico que se usa a lo largo de la mayoría de cursos introductorios.
Conviene usarlo cuando se necesita:
Su limitación principal es que solo permite una prueba por ejecución. Se podría automatizar con un ciclo for que repita el proceso varias veces y al final conservar el mejor resultado o el promedio, pero existen formas más eficientes.
¿Cómo funciona la validación cruzada por k-folds?
La validación cruzada por k-folds [2:38] divide los datos en k partes o pliegues. En cada iteración se usa una parte diferente como conjunto de validación y el resto como entrenamiento. Al finalizar, todos los subconjuntos han sido probados de manera sistemática [4:28].
El valor de k es un parámetro que se define según las necesidades del proyecto. En la representación visual, el conjunto de entrenamiento y el de validación se van rotando en cada fold, garantizando cobertura completa.
Este enfoque es recomendable cuando:
¿Qué es LOOCV y en qué escenarios tiene sentido?
El método LOOCV (Leave One Out Cross Validation) [3:05] es el más intensivo. En cada iteración se entrena con todos los datos excepto uno, y ese único dato se usa como prueba. El proceso se repite tantas veces como datos existan hasta cubrir la totalidad del dataset.
Se justifica cuando:
¿Cómo implementar estas validaciones con Scikit-Learn?
Scikit-Learn es una librería lo suficientemente robusta para ejecutar cada uno de estos procesos de validación de forma independiente [5:52]. La implementación práctica del cross validation por k-folds es el siguiente paso natural después de comprender la teoría, ya que representa el caso más equilibrado entre rigor y eficiencia computacional.
¿Ya has probado distintos métodos de validación en tus proyectos? Comparte tu experiencia y cuéntanos cuál te ha dado mejores resultados.
Franco Manca
Juan R. Vergara M.
Excelente resumen amigo 👍🥇💡
Juan José Mamani Tarqui
Muy buen aporte compañero grxs
Jorge Sebastian Alvarez Herrera
Investigando en google encontré que no se llama Hold On si no Hold Out
Kenny Emmanuel Lajara Aquino
Confirmed!
Franco Manca
Confirmado es Hold-Out
Rodrigo Urquizo Yepez
Los expertos en AI dicen que el que tiene exito en machine learning no es el que tiene el mejor algoritmo, sino el que tiene mas datos.
Luis Eduardo Chacón Wilches
Lo complementaria, con más datos pero de calidad!
José Joaquín Tripp Gudiño
Usar cross validation en grandes sets de datos, consume bastante poder de computo. Una recomendación que me daban en el trabajo, es primero tratar de optimizar lo más que pueda el modelo con el clásico split 80/20, y ya que se tenga el o los "ganadores" entonces validar con K-fold = 10 para asegurarnos de tener un accuracy más certero y no estar en overfitting con el set de entrenamiento. 😊
Cesar Uribe
LOOCV no es Left Only One Cross Validation sino Leave-One-Out-Cross-Validation
Jhon Freddy Tavera Blandon
Beneficios de la Validación Cruzada:
En resumen
la validación cruzada es una técnica fundamental para evaluar y validar modelos de aprendizaje automático, lo que garantiza que el modelo sea capaz de generalizar correctamente a nuevos datos y evitando problemas de sobreajuste.
Hugo Montoya Diaz
Julián Cárdenas
Buen ejemplo!
David fernando Pinzon suarez
Cual es la diferencia entre cross_validate y cross_val_score?
Daniel Correa
cross_val_score solo devuelve una metrica, cross_validate devuelve mas, si no estoy mal, la metrica que comparten es train_scores
Santiago García Rincón
La diferencia entre cross_validate y cross_val_score radica en cómo se utilizan y qué información devuelven en el contexto de la validación cruzada en la biblioteca de Python scikit-learn.
cross_val_score es una función que permite realizar la validación cruzada y obtener una medida de rendimiento específica para un estimador dado. Toma como entrada un estimador (modelo), un conjunto de datos, una métrica de rendimiento y opcionalmente el número de pliegues en los que se divide el conjunto de datos. Devuelve una matriz de valores de rendimiento para cada pliegue, lo que permite obtener una estimación del rendimiento del modelo.
Por otro lado, cross_validate es una función más completa y flexible que permite realizar validación cruzada y obtener múltiples medidas de rendimiento para un estimador dado. Además de proporcionar una medida de rendimiento, también devuelve información adicional, como el tiempo de ajuste y predicción para cada pliegue y los puntajes de entrenamiento. Esta función es útil cuando se necesita más información sobre el rendimiento y el comportamiento del modelo en cada pliegue.
FELIX DAVID CORDOVA GARCIA
TOC= TRANSTORNO OBSESIVO COMPULSIVO
Camilo Andrés Hurtado Erasso
jajaja esa parte me pareció muy graciosa.
Miguel Angel Velazquez Romero
Tipos de validación.
¿Cuándo utilizar Hold-on?
¿Cuándo utilizar K-Folds?
Andres Martin
Leandro Tenjo
🤔
¿Se podría decir que LOOCV seria un K-Fold con K igual a la longitud total de los datos?
Es decir.
¿Si tengo 2500 datos, entonces K-Fold con k=2500 seria igual a ejecutar LOOCV?
Antonio Demarco Bonino
Con estas metáforas de Caperucita roja se entiende mejor los conceptos de Cross Validation:
Ian Cristian Ariel Yané
jajajajaj, me senti escuchado con lo de TOC. Me lo vendiste
Diego Jurado
Entonces todos los modelos son malos? Siempre resultara mas aportante el analisis del cientifico de datos
Juan Jose Sepulveda Calderon
Después de la etapa de entrenamiento viene la etapa de validación, donde el modelo se evalúa con datos que no se han utilizado para entrenarlo, con el fin de medir su precisión y desempeño.
Sebastian Nolasco
Aquí hay un artículo buenísimo sobre cross validation: Cross validation techniques
Miguel R Montilla
Aquí un video muy bueno sobre cross-validation
++Validación de nuestro modelo usando Cross Validation++
Todos los modelos que nosotros hacemos en últimas son una sobre simplificación de lo que pasa realmente. Entonces nunca nuestros modelos van a corresponder con la realidad al cien por ciento. Si jugamos lo suficiente y si somos lo suficientemente hábiles para configurar, vamos a llegar a un punto donde el modelo que estamos trabajando va a ser útil para ciertos casos específicos dentro del mundo real. . . . ++Tipos de validación++
Hold-Out
Se trata de dividir nuestros datos entrenamiento/pruebas, básicamente consiste en usar porcentajes fijos, por lo regular 70% de entrenamiento y 30% de pruebas.
!hold-out !hold-out-strategy
¿Cuándo utilizar Hold-on?
Usar validación cursada K-Fold, aquí vamos a plegar nuestros datos k veces, el k es un parámetro que nosotros definimos y en esos pliegues vamos a utilizar diferentes partes de nuestro dataset como entrenamiento y como test, de tal manera que intentemos cubrir todos los datos de entrenamiento y de test, al finalizar el proceso.
!k-fold !k-fold-strtegy
¿Cuándo utilizar K-Folds?
Recomendable en la mayoría de los casos.
Se cuenta con un equipo suficiente para desarrollar ML.
Se require la integración con técnicas de optimización paramétrica.
Se tiene más tiempo para las pruebas. . .
LOOCV
Validación cruzada LOOCV, Leave One Out Cross Validation. Este es el método más intensivo, ya que haremos una partición entre entrenamiento y pruebas, porque vamos a hacer entrenamiento con todos los datos, salvo 1 y vamos a repetir este proceso tantas veces hasta que todos los datos hayan sido probados.
!loocv
¿Cuándo utilizar LOOCV?