DocumentationClassesStratifiedGroupKFold

Class: StratifiedGroupKFold

Stratified K-Fold iterator variant with non-overlapping groups.

This cross-validation object is a variation of StratifiedKFold attempts to return stratified folds with non-overlapping groups. The folds are made by preserving the percentage of samples for each class.

Each group will appear exactly once in the test set across all folds (the number of distinct groups has to be at least equal to the number of folds).

The difference between GroupKFold and StratifiedGroupKFold is that the former attempts to create balanced folds such that the number of distinct groups is approximately the same in each fold, whereas StratifiedGroupKFold attempts to create folds which preserve the percentage of samples for each class as much as possible given the constraint of non-overlapping groups between splits.

Read more in the User Guide.

For visualisation of cross-validation behaviour and comparison between common scikit-learn split methods refer to Visualizing cross-validation behavior in scikit-learn

Python Reference

Constructors

new StratifiedGroupKFold()

new StratifiedGroupKFold(opts?): StratifiedGroupKFold

Parameters

ParameterTypeDescription
opts?object-
opts.n_splits?numberNumber of folds. Must be at least 2.
opts.random_state?numberWhen shuffle is true, random_state affects the ordering of the indices, which controls the randomness of each fold for each class. Otherwise, leave random_state as undefined. Pass an int for reproducible output across multiple function calls. See Glossary.
opts.shuffle?booleanWhether to shuffle each class’s samples before splitting into batches. Note that the samples within each split will not be shuffled. This implementation can only shuffle groups that have approximately the same y distribution, no global shuffle will be performed.

Returns StratifiedGroupKFold

Defined in generated/model_selection/StratifiedGroupKFold.ts:31

Properties

PropertyTypeDefault valueDefined in
_isDisposedbooleanfalsegenerated/model_selection/StratifiedGroupKFold.ts:29
_isInitializedbooleanfalsegenerated/model_selection/StratifiedGroupKFold.ts:28
_pyPythonBridgeundefinedgenerated/model_selection/StratifiedGroupKFold.ts:27
idstringundefinedgenerated/model_selection/StratifiedGroupKFold.ts:24
optsanyundefinedgenerated/model_selection/StratifiedGroupKFold.ts:25

Accessors

py

Get Signature

get py(): PythonBridge

Returns PythonBridge

Set Signature

set py(pythonBridge): void

Parameters

ParameterType
pythonBridgePythonBridge

Returns void

Defined in generated/model_selection/StratifiedGroupKFold.ts:55

Methods

dispose()

dispose(): Promise<void>

Disposes of the underlying Python resources.

Once dispose() is called, the instance is no longer usable.

Returns Promise<void>

Defined in generated/model_selection/StratifiedGroupKFold.ts:111


get_metadata_routing()

get_metadata_routing(opts): Promise<any>

Get metadata routing of this object.

Please check User Guide on how the routing mechanism works.

Parameters

ParameterTypeDescription
optsobject-
opts.routing?anyA MetadataRequest encapsulating routing information.

Returns Promise<any>

Defined in generated/model_selection/StratifiedGroupKFold.ts:130


get_n_splits()

get_n_splits(opts): Promise<number>

Returns the number of splitting iterations in the cross-validator.

Parameters

ParameterTypeDescription
optsobject-
opts.groups?anyAlways ignored, exists for compatibility.
opts.X?anyAlways ignored, exists for compatibility.
opts.y?anyAlways ignored, exists for compatibility.

Returns Promise<number>

Defined in generated/model_selection/StratifiedGroupKFold.ts:166


init()

init(py): Promise<void>

Initializes the underlying Python resources.

This instance is not usable until the Promise returned by init() resolves.

Parameters

ParameterType
pyPythonBridge

Returns Promise<void>

Defined in generated/model_selection/StratifiedGroupKFold.ts:68


set_split_request()

set_split_request(opts): Promise<any>

Request metadata passed to the split method.

Note that this method is only relevant if enable_metadata_routing=True (see sklearn.set_config). Please see User Guide on how the routing mechanism works.

The options for each parameter are:

Parameters

ParameterTypeDescription
optsobject-
opts.groups?string | booleanMetadata routing for groups parameter in split.

Returns Promise<any>

Defined in generated/model_selection/StratifiedGroupKFold.ts:216


split()

split(opts): Promise<ArrayLike>

Generate indices to split data into training and test set.

Parameters

ParameterTypeDescription
optsobject-
opts.groups?ArrayLikeGroup labels for the samples used while splitting the dataset into train/test set.
opts.X?ArrayLike[]Training data, where n_samples is the number of samples and n_features is the number of features.
opts.y?ArrayLikeThe target variable for supervised learning problems.

Returns Promise<ArrayLike>

Defined in generated/model_selection/StratifiedGroupKFold.ts:252