# Divisor train/test com estratificação

Lê um dataset CSV/JSON e divide em train/validation/test com amostragem estratificada pela coluna alvo (70/15/15 padrão, semente reprodutível), ou k-fold estratificado; relatório de distribuição de classes por split com barras de desvio, checagem de vazamento por linhas duplicadas, prévia de SMOTE (interpolação de vizinhos no treino) e exportação dos CSV em ZIP.

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

- **Categoria:** Data Analysis

- **Palavras-chave:** divisao estratificada, train validation test, k-fold, smote, distribuicao de classes, semente reprodutivel

## Visão geral

Split estratificado: cada classe é embaralhada com PRNG semeado (mulberry32) e os membros distribuídos entre os splits por maior resto — as proporções por classe seguem o dataset; o modo k-fold segue a semântica do StratifiedKFold: após embaralhar, atribuição round-robin (membro j → fold j mod k). SMOTE (Chawla et al. 2002) apenas como prévia no treino: para uma amostra minoritária x_i toma-se um dos seus k=5 vizinhos minoritários x_z e sintetiza-se x_new = x_i + λ·(x_z − x_i), λ∈U(0,1), nas colunas numéricas (distância euclidiana). A semente garante reprodutibilidade (fluxo distinto do PCG64 do numpy, comportamento equivalente e documentado). Classes raras: aviso quando uma classe tem menos amostras que splits; no k-fold, k acima da menor classe é rejeitado como no sklearn.

## Entradas

- **Arquivo do dataset (CSV ou JSON)** (file): CSV with a header row, or a JSON array of objects
- **Ou cole CSV (com cabeçalho)** (textarea): age,income,label 23,42000,A 41,71000,B …
- **Coluna alvo (rótulo de classe)** (text): label
- **Modo de divisão** (select)
- **Percentual de treino** (number)
- **Percentual de validação** (number)
- **Número de folds (k)** (number)
- **Semente aleatória** (number)
- **Estratificar pela coluna alvo** (checkbox)
- **Embaralhar linhas antes de dividir** (checkbox)
- **Prévia de superamostragem SMOTE (treino)** (checkbox)
- **Exportar CSVs da divisão em ZIP** (checkbox)

## Quando usar

- Particionar datasets desbalanceados mantendo a proporção exata de cada classe nos conjuntos de treino, validação e teste.
- Criar dobras para validação cruzada k-fold estratificada garantindo distribuição uniforme de rótulos em cada partição.
- Avaliar o impacto de superamostragem sintética SMOTE no conjunto de treino antes de alimentar pipelines de aprendizado de máquina.

## Como funciona

- Carregue seu dataset em formato CSV ou JSON (ou cole o texto com cabeçalho) e especifique o nome da coluna alvo com os rótulos.
- Selecione o modo de divisão clássico (treino/validação/teste com proporções customizáveis) ou a validação cruzada k-fold estratificada.
- Defina a semente aleatória para reprodutibilidade e habilite opções como estratificação, embaralhamento e prévia SMOTE para atributos numéricos.
- Examine o relatório interativo com barras de desvio de classes, alertas de vazamento de dados e baixe as partições em CSV compactadas em ZIP.

## Casos de uso

- Divisão de datasets de análise de sentimento ou NLP com classes positivas, negativas e neutras distribuídas de forma proporcional.
- Estruturação de validação cruzada em dados tabulares para competições de ciência de dados e benchmarking de modelos preditivos.
- Detecção de duplicatas e prevenção de vazamento de dados entre partições de treinamento e teste antes da modelagem.

## Perguntas frequentes

### Como a amostragem estratificada preserva a proporção das classes?

Cada classe é embaralhada isoladamente e distribuída entre os splits pelo método do maior resto, garantindo que cada partição reflita a composição original do dataset.

### O que acontece se uma classe tiver menos amostras que o número de partições?

A ferramenta emite um aviso para classes raras e, no modo k-fold, rejeita a operação caso k seja maior que a contagem da menor classe.

### A prévia SMOTE sintetiza dados em todos os conjuntos?

Não. O SMOTE opera exclusivamente no split de treino por meio de interpolação euclidiana entre vizinhos numéricos, evitando vazamento para validação e teste.

### Como a semente aleatória garante resultados idênticos?

O gerador pseudoaleatório semeado (mulberry32) recria exatamente a mesma sequência de embaralhamento e divisão sempre que a mesma semente for informada.

### Quais arquivos estão incluídos no pacote ZIP de exportação?

O arquivo ZIP contém os arquivos CSV gerados para cada partição (ou por fold) acompanhados do manifesto split_report.json com as métricas de distribuição.

## Ferramentas relacionadas

- [Analisador de previsao e sazonalidade](https://elysiatools.com/pt/tools/time-series-forecast-seasonality-analyzer): Projeta periodos futuros a partir de series temporais CSV ou JSON e mostra tendencia, sazonalidade e residuo
- [Planejador de migracao CSV para banco de dados](https://elysiatools.com/pt/tools/csv-to-database-migration-planner): Infere um schema relacional a partir de CSV e gera planos CREATE TABLE e ALTER para PostgreSQL, MySQL, SQLite ou SQL Server
- [Marcador de dados CSV/JSON](https://elysiatools.com/pt/tools/csv-json-data-watermarker): Injeta campos de marca visivel ou assinatura em exportacoes CSV ou JSON para rastrear compartilhamentos
- [Detector de desbalanceamento e reamostragem](https://elysiatools.com/pt/tools/dataset-imbalance-detector-resampler): Detecta desbalanceamento de classes em datasets CSV ou JSON, compara estrategias e previsualiza uma saida balanceada
- [Perfilador de qualidade de datasets](https://elysiatools.com/pt/tools/dataset-quality-profiler): Gera um perfil de qualidade para CSV ou JSON com faltantes, duplicados, drift de formato, tipos e outliers.
- [Gerador PDF de treino fitness](https://elysiatools.com/pt/tools/fitness-workout-pdf-generator): Gera um PDF imprimivel de treino a partir de JSON ou CSV com tabelas, caixas de progresso e QR opcionais
- [Gerador de JSON-LD a partir de CSV](https://elysiatools.com/pt/tools/json-ld-generator-from-csv): Transforma linhas de CSV ou Excel em JSON-LD Schema.org para artigos, produtos ou eventos com saida pronta para validacao de SEO
- [Gerador de marcadores de capítulos de podcast (ID3 / Podcasting 2.0)](https://elysiatools.com/pt/tools/podcast-chapter-marker-builder): Cole uma lista de capítulos com timecodes e gere de uma vez todos os formatos de entrega: JSON de capítulos Podcasting 2.0 (v1.2.0) e tag RSS podcast:chapters, gravação opcional dos frames ID3v2.4 CHAP+CTOC direto num MP3 enviado (milissegundos como uint32 big-endian simples, offsets 0xFFFFFFFF, subframe TIT2 por capítulo, frames existentes preservados), pares de comentários Vorbis CHAPTER001 (OGG/Opus), texto mp4chaps, bloco de timestamps para a descrição do YouTube e sidecar SRT, mais a matriz real de suporte dos players (Apple aceita o JSON via RSS desde 2025; Pocket Casts/Overcast leem só ID3 embutido; Spotify ignora ambos).

## Exemplos

- [Exemplos CSV](https://elysiatools.com/pt/samples/csv-samples): Arquivos CSV de exemplo com vários tipos de dados, tamanhos e níveis de complexidade
- [Exemplos Python](https://elysiatools.com/pt/samples/python): Exemplos de código Python e demonstrações Hello World
- [Exemplos de Comunicação em Tempo Real WebRTC](https://elysiatools.com/pt/samples/webrtc-samples): Exemplos completos WebRTC para comunicação áudio/vídeo P2P, canais de dados, compartilhamento de tela e servidor de sinalização
- [Exemplos de Rastreamento Distribuído](https://elysiatools.com/pt/samples/distributed-tracing-samples): Exemplos completos de rastreamento distribuído usando Jaeger, OpenTelemetry e ferramentas modernas de observabilidade

## Conteúdo relacionado

- [Ferramentas de intercambio JSON e traducao de formatos](https://elysiatools.com/pt/hubs/json-convert): Compare ferramentas de conversao JSON para CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN e outros formatos estruturados em um unico hub.
- [Ferramentas de conversão de caixa, codificação e normalização de texto](https://elysiatools.com/pt/hubs/text-convert): Compare conversão de caixa de texto, conversão de largura de caracteres, conversão de codificação, tratamento de quoted-printable e normalização de texto em um único hub.
- [Ferramentas de exportacao CSV e conversao de tabelas](https://elysiatools.com/pt/hubs/csv-convert): Compare conversoes entre CSV e Excel, JSON, HTML, Markdown, XML e texto em um unico hub para fluxos de intercambio tabular.
- [Ferramentas de inspecao, diff e transformacao JSON](https://elysiatools.com/pt/hubs/json-utility): Reune em um so hub ferramentas para formatar JSON, comparar mudancas, inspecionar caminhos, validar schema, mesclar arquivos e transformar dados para fluxos de API e dados.
