Datos de Entrenamiento, Validación y Prueba: ¿Cómo crearlos y qué objetivos tienen? Machine Learning

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ค. 2024
  • Para citar este recurso educativo utiliza la siguiente referencia:
    Gutiérrez-García, J.O. [Código Máquina]. (2021, 11 de Octubre). Datos de Entrenamiento, Validación y Prueba: ¿Cómo crearlos y qué objetivos tienen? Machine Learning [Video]. TH-cam. [Incluye aquí la URL del video].
    ********************************************
    Para guiar tu aprendizaje, en este vínculo ( • Curso de Inteligencia ... ) se encuentra una guía secuencial para aprender:
    1. Programación Básica con Python;
    2. Manejo de Datos;
    3. Visualización de Datos;
    4. Análisis de Datos; y
    5. Aprendizaje de Máquina y Ciencia de Datos.
    ********************************************
    Este video explica cuál es el objetivo de los conjuntos de datos para entrenamiento, validación y prueba. Además, se presenta cómo crearlos utilizando la librería Scikit-Learn de Python.
    Índice del Video:
    0:00 Justificación de cada Conjunto
    2:25 Datos de Entrenamiento
    4:16 Datos de Prueba
    6:25 Datos de Validación
    13:15 Creación con Scikit-Learn
    Apoya a Código Máquina dando un Like, con un Super Gracias o visitando nuestra tienda en:
    / shop
    El código y datos del video están disponibles en GitHub github.com/CodigoMaquina/code
    #CienciaDeDatos #AprendizajeDeMaquina #DataScience #MachineLearning #ScikitLearn #python

ความคิดเห็น • 34

  • @CodigoMaquina
    @CodigoMaquina  2 ปีที่แล้ว +1

    Apoya a Código Máquina dando un Like, con un Super Gracias o visitando nuestra tienda en:
    facebook.com/C0d1g0Maqu1na/shop

  • @brianchuquiruna6959
    @brianchuquiruna6959 หลายเดือนก่อน

    muchas gracias por el video, era justo lo que necesitaba

  • @ingenieriadedatoscolombia3663
    @ingenieriadedatoscolombia3663 ปีที่แล้ว +2

    Gracias totales Maestro Octavio desde Colombia explicaste en 30 minutos lo que llevo semanas tratando de entender.

    • @CodigoMaquina
      @CodigoMaquina  ปีที่แล้ว +1

      Excelente, me alegra mucho. Saludos!!

  • @angelbello2753
    @angelbello2753 8 หลายเดือนก่อน +1

    Gracias miles , más explicado de ahi imposible , excelente tema , la facilidad que le das sin tanto rodeos es genial.... todo se entendio . Felicitaciones!!

    • @CodigoMaquina
      @CodigoMaquina  6 หลายเดือนก่อน

      @angelbello2753 muchas gracias por tus palabras y un gran año 2024!!!

  • @abrahamsojeda
    @abrahamsojeda 2 ปีที่แล้ว +2

    Muchas gracias por el canal amigo. Cada vídeo que termino me suma un conocimiento invaluable en mi carrera profesional.

    • @CodigoMaquina
      @CodigoMaquina  2 ปีที่แล้ว

      Nos da muchísimo gusto que el canal aporte aunque sea con un granito de arena. Gracias por tomarte el tiempo para escribirnos :)

  • @joselorcas9705
    @joselorcas9705 ปีที่แล้ว +1

    Exelente canal me ha Sido super util

    • @CodigoMaquina
      @CodigoMaquina  ปีที่แล้ว

      Siempre es un placer leer comentarios así. Gracias!!!

  • @marbellaflores4512
    @marbellaflores4512 2 ปีที่แล้ว +1

    gracias, me ha ayudado mucho, la información es muy clara!

    • @CodigoMaquina
      @CodigoMaquina  2 ปีที่แล้ว

      Gracias por comentar y por seguir al canal :)

  • @gabyti6186
    @gabyti6186 ปีที่แล้ว +1

    excelente profesor! muy claro todo!

    • @CodigoMaquina
      @CodigoMaquina  ปีที่แล้ว

      Muchas gracias por tu comentario :)

  • @user-yw5md5pk4s
    @user-yw5md5pk4s 4 หลายเดือนก่อน

    Son muy buenos tus videos, he aprendido bastante y se agracede bastante. Me gustaría saber si tienes algún video en el cual muestres como trabajar con estos datos de entrenamiento, prueba y validación. Llevo un tiempo aprendiendo y solo he realizado predicciones con regresión lineal junto con probabilidades. Desde ya gracias nuevamente.

  • @guillermosilva1527
    @guillermosilva1527 2 ปีที่แล้ว +2

    Gran video crack

  • @mejia414
    @mejia414 2 ปีที่แล้ว +1

    gracias excelente explicación

    • @CodigoMaquina
      @CodigoMaquina  2 ปีที่แล้ว

      Muchas gracias por ver el canal e interactuar :)

    • @mejia414
      @mejia414 2 ปีที่แล้ว

      @@CodigoMaquina me ayudo mucho, excelente

  • @ljfi3324
    @ljfi3324 ปีที่แล้ว +1

    Que buenos vídeos, me doy cuenta que "tenía" algunos conocimientos volando, pero con sus vídeos ahora entiendo más cosas, es exageradamente bueno explicando, muchas gracias por compartir su conocimiento!
    Me surgió una duda, en la explicación menciona que el conjunto de validación se usa si vamos ajustar los hiperparametros. Yo he visto que algunos solo dividen en train y test aunque ajusten hiperparametros y otros que si hacen las 3 divisiones pero solo he visto esto cuando aplican redes neuronales. Nunca he visto que dividan en train, test y validation para un algoritmo de ML, solo para redes neuronales, supongo que si se ha de poder pero no me imagino de momento en que algoritmos se podria hacer, ustedes los ha aplicado en algunos? Si es así en cuales? Gracias por todo!!!!

    • @CodigoMaquina
      @CodigoMaquina  ปีที่แล้ว

      @ljfi3324 muchas gracias por tus comentarios y por la pregunta. Con respecto a ésta, ciertamente en muchas ocasiones sólo se utilizan los conjuntos de entrenamiento y prueba. Digamos que es lo mínimo aceptable, aunque en realidad, independientemente de la técnica, lo ideal es utilizar los tres conjuntos. También, otra alternativa (y tal vez una mejor alternativa) para evaluar los modelos de machine learning es utilizar validación cruzada (favor de ver nuestro siguiente video th-cam.com/video/Qnth2VXopLg/w-d-xo.html). Gracias por seguir el contenido del canal :)

  • @santiagopiedriz4696
    @santiagopiedriz4696 2 ปีที่แล้ว +1

    👏👏 Muy buen video

    • @CodigoMaquina
      @CodigoMaquina  2 ปีที่แล้ว

      Muchas gracias por seguir el contenido del canal!

  • @dskevinperezgarcia
    @dskevinperezgarcia 8 หลายเดือนก่อน +1

    Excelente video. Una consulta de la división de los datos en las competiciones de Kaggle. Las competiciones brindan la base de datos de entrenamiento y de prueba. El de prueba se divide en 70% para el leaderboard público y 30% para el privado. Entonces, ¿tengo que asumir que la base de datos de entrenamiento privado es en sí el de prueba y el público es el de validación? Aún así, vi que a partir de el entrenamiento extraen una base de datos de validación.

    • @CodigoMaquina
      @CodigoMaquina  6 หลายเดือนก่อน

      @kevoperezgarcia1700 no he participado en las competiciones de Kaggle. Sin embargo, por lo que comentas, efectivamente, ese 70% publico de los datos es para ti el 100% y de ahí habría que sacar tus datos de entrenamiento, prueba y validación. Una vez con tu modelo entrenado, me imagino que Kaggle utiliza el 30% privado para determinar el ganador. Mucha suerte en las competiciones!!!

  • @alf4879
    @alf4879 4 หลายเดือนก่อน

    Cuando ya tengo el modelo entrenado y deseo que me prediga nuevos valores de una nueva base de datos se puede desde pyton o se requiere despliegue?

  • @grb300788
    @grb300788 5 หลายเดือนก่อน

    Estoy haciendo un ejercicio donde meto dos csv uno para train y otro para test pero entonces este ultimo solo se utilozaria para hacer las pruebas? Es que no entiendo muy bien algunos conceptos estoy echa bolas😅

  • @felipela2227
    @felipela2227 8 หลายเดือนก่อน +1

    Entendí la analogía del estudiante con Train y Test pero no con la de Validación. En todo caso yo diría que la Validación vendría a ser una simulación del examen que te ayuda a ajustarte.

    • @CodigoMaquina
      @CodigoMaquina  6 หลายเดือนก่อน +1

      @felipela2227 gracias por seguir el contenido del canal. Más allá de las analogías, lo más importante del conjunto de validación (que nos debemos llevar) es que se utiliza para definir los hiper-parámetros. Feliz año 2024!!!

  • @raquelevelin6844
    @raquelevelin6844 ปีที่แล้ว +1

    El dataset tiene que tener la misma cantidad de cada clase a predecir ? en este caso es necesario tener 50 casos de cardíacos y 50 que no?

    • @CodigoMaquina
      @CodigoMaquina  ปีที่แล้ว +1

      Muchas gracias por interactuar en el canal. Con respecto a tu pregunta, idealmente deberíamos tener una proporción similar de datos asociados a cada clase en cada uno de los conjuntos de entrenamiento, prueba y validación. Para esto, normalmente las diferentes librerías de machine learning (que crean automáticamente esos conjuntos) intentan alcanzar ese balance utilizando muestreo aleatorio en sus métodos. Sin embargo, en algunas ocasiones debido al simple contexto de los datos, los datos tienen proporcionalmente una menor cantidad de datos asociados a algunas clases y para eso se realizan procesos especiales de balanceo de clases. Si estos temas son de tu interés, te recomiendo echarle un vistazo a un video que ya tenemos en este canal sobre cómo lidiar con clases desbalanceadas th-cam.com/video/2FbugqoBz94/w-d-xo.html

  • @thegrayfox666
    @thegrayfox666 ปีที่แล้ว +1

    ¿Qué pasa si nuestro data set incluye fechas? como por ejemplo fechas de ventas ¿Cómo podemos separar nuestros datos sin que sea aleatorio pero mantener la proporción de 80% para los datos train y 20% para los datos test?

    • @CodigoMaquina
      @CodigoMaquina  ปีที่แล้ว +1

      Gracias por la pregunta y por interactuar en el canal. En el caso general, cuestiones temporales como fechas y/o horas se trabajan como series de tiempo y tienen un tratamiento diferente para evitar alimentar el modelo con datos del futuro. De hecho, sklearn y otras librerías tienen métodos especiales para hacer la separación de los datos para series de tiempo. Aquí va un vínculo con un poco más de información scikit-learn.org/stable/modules/generated/sklearn.model_selection.TimeSeriesSplit.html