Saltar al contenido
Páginas

Conceptos

Conjuntos de datos y divisiones

Cómo Skynet lee tus casos y los divide en entrenamiento, validación y prueba.

Un conjunto de datos es una tabla de casos. Cada fila es un caso. Skynet ejecuta tu artefacto sobre los casos, puntúa cada salida y usa las puntuaciones para comparar versiones. Esta página explica cómo lee Skynet los casos, qué hacen los roles de columna y cómo divide los casos en los conjuntos de entrenamiento, validación y prueba.

Cargar los datos

En el paso Entradas del asistente, tienes dos opciones:

  • Sube un archivo CSV, JSON o Excel. Skynet acepta archivos .csv, .json, .xlsx y .xls.
  • Elegir de la biblioteca. Usa un conjunto de datos que guardaste antes.

Una ejecución puede tener como máximo 200.000 casos.

Lee Preparar un conjunto de datos para gestionar los conjuntos de datos guardados.

Roles de columna

En Cómo leer los datos, asigna un rol a cada columna:

RolQué hace Skynet con la columna
EntradaPone el valor en input, que recibe tu código de ejecución
SalidaPone el valor en expected, que recibe tu métrica
OmitirNo usa la columna

Cada columna tiene además un tipo: Texto o Imagen.

Solo una columna puede ser la columna de salida. Si marcas una segunda columna como Salida, la primera pasa a Omitir.

Qué recibe tu código

Para cada fila, Skynet construye un caso:

  • input es un dict. Tiene una clave por cada columna de entrada.
  • expected es un dict con una sola clave: el nombre de la columna de salida.

Para esta tabla:

messagelabelid
I was charged twicebilling17

con los roles message = Entrada, label = Salida e id = Omitir, tu código recibe:

{"message": "I was charged twice"}

Modos de datos

Los roles fijan el modo de datos de la ejecución:

ModoCuándoQué ocurre
ParesUna columna es de salidaCada fila es un caso con una entrada y un valor esperado. Necesitas al menos 2 filas.
ÚnicoNinguna columna es de salidaLa ejecución usa solo las columnas de entrada de la primera fila. Es un único caso sin valor esperado.

En el modo único, Skynet usa ese único caso para el entrenamiento, la selección y el informe. No se reserva nada.

La división

En el modo de pares, Skynet divide los casos en tres conjuntos:

ConjuntoPara qué sirve
EntrenamientoEl motor propone y prueba versiones con estos casos.
Val (validación)Skynet selecciona la mejor versión con estos casos.
PruebaSkynet informa la puntuación final con estos casos.

La división predeterminada

Número de paresEntrenamientoValPrueba
5 o más70 %15 %15 %
Menos de 585 %15 %0 %

Con menos de 5 pares, Skynet no reserva un conjunto de prueba.

Cómo cuenta Skynet los casos

Skynet convierte las fracciones en números enteros de casos con el método del mayor resto. Los recuentos siempre suman el número de casos. Un conjunto con una fracción mayor que cero recibe al menos un caso. Un conjunto con una fracción de cero no recibe ningún caso.

Antes de la división, Skynet baraja los casos. El barajado usa la semilla de la ejecución. Si no das una semilla, Skynet genera una a partir de los casos, el objetivo y el artefacto. Así, si vuelves a enviar la misma ejecución, obtienes la misma división.

Alternativas

  • Con menos de 5 pares, Skynet elimina el conjunto de prueba y escala entrenamiento y validación para que sumen 1.
  • Si el conjunto de entrenamiento está vacío, Skynet usa los casos de validación como entrenamiento.
  • Si no hay conjunto de validación, Skynet selecciona con los casos de entrenamiento.
  • Si no hay conjunto de prueba, Skynet informa con validación. Si tampoco hay conjunto de validación, informa con entrenamiento.

Cambiar la división

La sección de la división muestra Partición recomendada. Tiene dos modos:

  1. Usar recomendación: Skynet usa la división predeterminada descrita arriba.
  2. Selección manual: tú fijas Entrenamiento, Validación y Prueba.

En la selección manual, cada campo acepta una fracción de 0 a 1, en pasos de 0,05. Cada campo muestra el número de casos que recibe. Las tres fracciones deben sumar 1. Si no suman 1, el asistente muestra «La división debe sumar 1.»

Muestras del contrato

La comprobación del contrato del paso Métrica y ejecución ejecuta tu código sobre 3 casos de muestra. Skynet toma estas muestras solo de los casos de entrenamiento y validación, nunca de prueba.

Páginas relacionadas