Datasets

Train / Validation / Test Splitter

A split should be reproducible and balanced. Drop a dataset (images with YOLO labels, class folders, or a CSV/JSONL), choose the ratio and a seed, and optionally stratify by class so each split has the same class mix. The result is a zip with the folders training code expects, or the same table with a split column.

Loading the tool…

How it works

01

Load

A zip or folder of images and labels, class folders, or a CSV/JSONL file. The tool detects which and shows counts.

02

Choose ratios and seed

80/10/10 is the default. The seed makes the split repeatable; write it in the README the tool adds.

03

Export

Images: train/ val/ test/ each with images/ and labels/ (YOLO) or class folders. Tables: a split column, or three files.

Formats, limits and the numbers that matter

Stratification

Class folders and CSV label columns stratify exactly. YOLO detection sets stratify by the dominant class in each image, the usual compromise for multi-object images.

Groups

Pick a group column (patient id, document id) to keep every row of a group in one split and avoid leakage.

data.yaml

For YOLO layouts the tool writes data.yaml with the three paths and the class names it found.

Common questions

How large should the validation set be?

Enough to measure the metric you care about with the precision you need: at least 100 examples per class for classification, and at least 200 boxes per class for detection.

Random or by time?

For data that arrives over time, sort by date and use the time-based option so validation is later than training.

Does it modify files?

No; files are copied into the split folders unchanged.