Skip to main content

StratifiedKFoldSplitter

Splitter
DashAI.back.splitters.StratifiedKFoldSplitter

Splitter that generates folds while preserving the class distribution.

This strategy is particularly useful for classification problems with imbalanced labels, where each fold should retain a similar proportion of each class to produce a more meaningful and less biased estimate of model performance.

It is commonly used in tabular and image classification tasks when the evaluation must reflect the original class distribution.

References

Parameters

n_splits : integer, default=5
Number of folds. Must be an integer greater than or equal to 2.
shuffle : boolean, default=True
Whether to shuffle the data before splitting it into folds.
random_state : integer, default=42
Seed used to make the split reproducible when shuffle is enabled.

Methods

split_indexes(self, x: 'DashAIDataset', y: 'DashAIDataset') -> 'List[Tuple[List, List]]'

Defined on StratifiedKFoldSplitter

Generate train/test index pairs while preserving class proportions.

Parameters

x : DashAIDataset
Input dataset whose length determines the number of available samples.
y : DashAIDataset
Target values used to preserve the class distribution across folds.

Returns

list[tuple]
A list of train/test index pairs for every stratified fold.

get_credential(self, name: str)

Defined on ConfigObject

Resolve a registered credential component by name.

Parameters

name : str
Credential component class name (e.g. "HuggingFaceCredential").

Returns

BaseCredential
An instance of the requested credential component.

get_metadata(cls) -> 'dict'

Defined on FoldSplitter

Return metadata describing the splitter's compatibility.

get_schema(cls) -> dict

Defined on ConfigObject

Generates the component related Json Schema.

Returns

dict
Dictionary representing the Json Schema of the component.

prepare_y(self, y)

Defined on BaseSplitter

Encode the target variable for stratified splitting.

Parameters

y : object
Target values to encode. This may be a list, a pandas-like object, or a DashAI dataset that exposes a single target column.

Returns

object
Encoded labels suitable for stratified splitting.

split(self, x: 'DashAIDataset', y: 'DashAIDataset') -> 'Tuple[List[DatasetDict], List[DatasetDict], Dict[str, Any]]'

Defined on FoldSplitter

Create folds and return both the partitioned datasets and the indices.

Parameters

x : DashAIDataset
Input dataset to split.
y : DashAIDataset
Target values associated with x.

Returns

tuple[list, list, dict]
A tuple containing the split datasets for every fold and a mapping from fold names to their corresponding train/test indices.

validate_and_transform(self, raw_data: dict) -> dict

Defined on ConfigObject

It takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.

Parameters

raw_data : dict
A dictionary with the data provided by the user to initialize the model.

Returns

dict
A validated dictionary with the necessary objects.

Compatible with