# Divisor train/test con estratificación

Lee un dataset CSV/JSON y divide en train/validation/test con muestreo estratificado por la columna objetivo (70/15/15 por defecto, semilla reproducible), o valida con k-fold estratificado; incluye informe de distribución de clases por split con barras de desviación, comprobación de fugas por filas duplicadas, vista previa de SMOTE (interpolación de vecinos sobre el split de train) y exportación de los CSV en ZIP.

> Página canónica: https://elysiatools.com/es/tools/train-test-split-with-stratification

- **Categoría:** Data Analysis

- **Palabras clave:** division estratificada, train validation test, k-fold, smote, distribucion de clases, semilla reproducible

## Descripción general

División estratificada: cada clase se baraja con PRNG sembrado (mulberry32) y sus miembros se reparten entre splits por mayor resto, de modo que las proporciones por clase sigan al dataset; el modo k-fold sigue la semántica de StratifiedKFold: tras barajar cada clase, asignación round-robin (el miembro j va al fold j mod k). SMOTE (Chawla et al. 2002) solo como vista previa sobre el split de train: para una muestra minoritaria x_i se toma uno de sus k=5 vecinos minoritarios x_z y se sintetiza x_new = x_i + λ·(x_z − x_i), λ∈U(0,1), usando solo columnas numéricas (distancia euclídea). La semilla garantiza reproducibilidad (flujo distinto al PCG64 de numpy, comportamiento equivalente y documentado). Protección de clases raras: aviso cuando una clase tiene menos muestras que splits; en k-fold, si k supera el tamaño de la clase mínima se rechaza como hace sklearn.

## Entradas

- **Archivo del dataset (CSV o JSON)** (file): CSV with a header row, or a JSON array of objects
- **O pega CSV (con cabecera)** (textarea): age,income,label 23,42000,A 41,71000,B …
- **Columna objetivo (etiqueta de clase)** (text): label
- **Modo de división** (select)
- **Porcentaje de entrenamiento** (number)
- **Porcentaje de validación** (number)
- **Número de folds (k)** (number)
- **Semilla aleatoria** (number)
- **Estratificar por la columna objetivo** (checkbox)
- **Barajar filas antes de dividir** (checkbox)
- **Vista previa de sobremuestreo SMOTE (split de train)** (checkbox)
- **Exportar CSVs de la división en ZIP** (checkbox)

## Cuándo usarlo

- Al preparar datos tabulares desbalanceados para modelos de Machine Learning garantizando la misma distribución de etiquetas en train, val y test.
- Al diseñar esquemas de validación cruzada estratificada (Stratified K-Fold) para evaluar la robustez de modelos predictivos.
- Al auditar particiones existentes para detectar fugas de datos entre particiones y evaluar el impacto del sobremuestreo con SMOTE.

## Cómo funciona

- Carga el archivo CSV/JSON o pega el contenido tabular directamente con su fila de encabezados.
- Define el nombre de la columna objetivo que contiene las clases o etiquetas a estratificar.
- Configura el modo de partición (porcentajes estándar o número de k-folds), la semilla aleatoria y la activación opcional de SMOTE.
- Revisa el informe interactivo de distribución de clases con barras de desviación y descarga los CSVs resultantes dentro de un paquete ZIP.

## Casos de uso

- Generación de conjuntos reproducibles 70/15/15 para clasificación de texto y análisis de sentimientos.
- Partición de datasets tabulares financieros con clases minoritarias de fraude aplicando validación de 5 folds.
- Comprobación de fuga de datos y generación de muestras sintéticas SMOTE en diagnósticos clínicos.

## Preguntas frecuentes

### ¿Cómo asegura la herramienta que las proporciones de clase se mantengan?

Utiliza un algoritmo de mayor resto tras barajar cada clase de forma independiente con un generador pseudoaleatorio basado en semilla.

### ¿Qué algoritmo utiliza la vista previa de SMOTE?

Aplica interpolación euclídea con k=5 vecinos más cercanos únicamente sobre columnas numéricas del conjunto de entrenamiento.

### ¿Cómo se gestiona el esquema de k-fold estratificado?

Sigue la semántica de StratifiedKFold asignando miembros de cada clase barajada a los folds mediante un esquema round-robin.

### ¿Qué ocurre si una clase tiene menos muestras que el número de divisiones?

El sistema emite una advertencia de protección de clases raras y rechaza configuraciones de k-fold donde k supere el tamaño de la clase mínima.

### ¿Se pueden reproducir los mismos resultados en diferentes ejecuciones?

Sí, fijando el mismo valor numérico en el campo de semilla aleatoria se obtienen particiones idénticas en cada ejecución.

## Herramientas relacionadas

- [Analizador de pronostico y estacionalidad](https://elysiatools.com/es/tools/time-series-forecast-seasonality-analyzer): Pronostica periodos futuros desde series temporales CSV o JSON y muestra tendencia, componente estacional y residual
- [Planificador de migracion CSV a base de datos](https://elysiatools.com/es/tools/csv-to-database-migration-planner): Infiere un schema relacional desde CSV y genera planes CREATE TABLE y ALTER para PostgreSQL, MySQL, SQLite o SQL Server
- [Marcador de datos CSV/JSON](https://elysiatools.com/es/tools/csv-json-data-watermarker): Inyecta marcas visibles o firmadas en exportaciones CSV o JSON para rastrear datos compartidos
- [Detector de desbalance y remuestreo](https://elysiatools.com/es/tools/dataset-imbalance-detector-resampler): Detecta desbalance de clases en datasets CSV o JSON, compara estrategias y previsualiza una salida balanceada
- [Perfilador de calidad de datasets](https://elysiatools.com/es/tools/dataset-quality-profiler): Perfila datasets CSV o JSON para detectar faltantes, duplicados, drift de formato, tipos y outliers.
- [Generador PDF de entrenamiento fitness](https://elysiatools.com/es/tools/fitness-workout-pdf-generator): Genera un PDF imprimible de entrenamiento desde JSON o CSV con tablas, casillas de progreso y QR opcionales
- [Generador de JSON-LD desde CSV](https://elysiatools.com/es/tools/json-ld-generator-from-csv): Convierte filas de CSV o Excel en JSON-LD de Schema.org para articulos, productos o eventos con salida lista para validacion SEO
- [Generador de marcadores de capítulos de podcast (ID3 / Podcasting 2.0)](https://elysiatools.com/es/tools/podcast-chapter-marker-builder): Pega una lista de capítulos con marcas de tiempo y genera de una vez todos los formatos de entrega: JSON de capítulos Podcasting 2.0 (v1.2.0) y etiqueta RSS podcast:chapters, opción de grabar marcos ID3v2.4 CHAP+CTOC directamente en un MP3 subido (milisegundos como uint32 big-endian normal, offsets 0xFFFFFFFF, subtrama TIT2 por capítulo, se preservan los marcos existentes), pares de comentarios Vorbis CHAPTER001 (OGG/Opus), texto mp4chaps, bloque de marcas de tiempo para la descripción de YouTube y sidecar SRT, más la matriz real de soporte por reproductor (Apple acepta el JSON por RSS desde 2025; Pocket Casts/Overcast solo leen ID3 incrustado; Spotify ignora ambos).

## Ejemplos

- [Ejemplos CSV](https://elysiatools.com/es/samples/csv-samples): Archivos CSV de muestra con varios tipos de datos, tamaños y niveles de complejidad
- [Ejemplos Python](https://elysiatools.com/es/samples/python): Ejemplos de código Python y demostraciones Hello World
- [Muestras de Comunicación en Tiempo Real WebRTC](https://elysiatools.com/es/samples/webrtc-samples): Muestras completas de WebRTC para comunicación de audio/video P2P, canales de datos, compartir pantalla y servidor de señalización
- [Muestras de Trazado Distribuido](https://elysiatools.com/es/samples/distributed-tracing-samples): Ejemplos completos de trazado distribuido usando Jaeger, OpenTelemetry y herramientas de observabilidad modernas

## Contenido relacionado

- [Herramientas de intercambio JSON y traduccion de formatos](https://elysiatools.com/es/hubs/json-convert): Compara herramientas de conversion JSON para CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN y otros formatos estructurados en un solo hub.
- [Herramientas de conversión de texto, codificación y normalización](https://elysiatools.com/es/hubs/text-convert): Compara conversión de mayúsculas y minúsculas, conversión de ancho de caracteres, conversión de codificación, manejo de quoted-printable y normalización de texto en un solo hub.
- [Herramientas de exportacion CSV y conversion de tablas](https://elysiatools.com/es/hubs/csv-convert): Compara conversiones entre CSV y Excel, JSON, HTML, Markdown, XML y texto en un solo hub para flujos de intercambio tabular.
- [Herramientas de inspeccion, diff y transformacion JSON](https://elysiatools.com/es/hubs/json-utility): Reune en un solo hub herramientas para formatear JSON, comparar cambios, inspeccionar rutas, validar esquemas, combinar archivos y transformar datos para flujos de API y datos.
