GitHub
deepbox/preprocess

Splitting & Cross-Validation

Train-test splitting, grouped strategies, repeated folds, stratification, and time-series aware splits.
Model validation
type SplitResult
export type SplitResult = { readonly trainIndex: number[]; readonly testIndex: number[]; };
Represents a single train/test split with named index arrays.

GroupKFold

Group K-Fold cross-validator.

GroupShuffleSplit

Shuffle-Group(s)-Out cross-validation iterator.

KFold

K-Folds cross-validator.

LeaveOneOut

Leave-One-Out cross-validator.

LeavePOut

Leave-P-Out cross-validator.

RepeatedKFold

Repeated K-Fold cross-validator.

RepeatedStratifiedKFold

Repeated Stratified K-Fold cross-validator.

ShuffleSplit

Random permutation cross-validator.

StratifiedKFold

Stratified K-Folds cross-validator.

StratifiedShuffleSplit

Stratified ShuffleSplit cross-validator.

TimeSeriesSplit

Time Series cross-validator.

trainTestSplit
export declare function trainTestSplit(X: Tensor, y?: Tensor, options?: { testSize?: number; trainSize?: number; randomState?: number; shuffle?: boolean; stratify?: Tensor; }): Tensor[];

Split arrays into random train and test subsets.

preprocess-splitting.ts
import {  KFold,  StratifiedKFold,  TimeSeriesSplit,  trainTestSplit,} from "deepbox/preprocess";import { tensor } from "deepbox/ndarray";const X = tensor([[1], [2], [3], [4], [5], [6]]);const y = tensor([0, 0, 1, 1, 0, 1]);console.log(trainTestSplit(X, y, { testSize: 0.33, randomState: 42 }));console.log([...new KFold({ nSplits: 3 }).split(X)]);console.log([...new StratifiedKFold({ nSplits: 3 }).split(X, y)]);console.log([...new TimeSeriesSplit({ nSplits: 3 }).split(X)]);