sklearn.model_selection.GroupKFold

class sklearn.model_selection.GroupKFold

Variante del iterador K-fold con grupos no superpuestos.

El mismo grupo no aparecerá en dos pliegues(folds) diferentes (el número de grupos distintos tiene que ser al menos igual al número de pliegues).

Los pliegues están aproximadamente equilibrados en el sentido de que el número de grupos distintos es aproximadamente el mismo en cada pliegue.

Más información en el Manual de usuario.

Parámetros
n_splitsint, default=5

Número de pliegues. Debe ser al menos 2.

Distinto en la versión 0.22: El valor predeterminado de n_splits ha cambiado de 3 a 5.

Ver también

LeaveOneGroupOut

Para dividir los datos de acuerdo con la estratificación explícita de dominio específico del conjunto de datos.

Ejemplos

>>> import numpy as np
>>> from sklearn.model_selection import GroupKFold
>>> X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
>>> y = np.array([1, 2, 3, 4])
>>> groups = np.array([0, 0, 2, 2])
>>> group_kfold = GroupKFold(n_splits=2)
>>> group_kfold.get_n_splits(X, y, groups)
2
>>> print(group_kfold)
GroupKFold(n_splits=2)
>>> for train_index, test_index in group_kfold.split(X, y, groups):
...     print("TRAIN:", train_index, "TEST:", test_index)
...     X_train, X_test = X[train_index], X[test_index]
...     y_train, y_test = y[train_index], y[test_index]
...     print(X_train, X_test, y_train, y_test)
...
TRAIN: [0 1] TEST: [2 3]
[[1 2]
 [3 4]] [[5 6]
 [7 8]] [1 2] [3 4]
TRAIN: [2 3] TEST: [0 1]
[[5 6]
 [7 8]] [[1 2]
 [3 4]] [3 4] [1 2]

Métodos

get_n_splits

Devuelve el número de iteraciones de división en el validador cruzado

split

Genera índices para dividir los datos en conjunto de entrenamiento y de prueba.

get_n_splits()

Devuelve el número de iteraciones de división en el validador cruzado

Parámetros
Xobject

Siempre se ignora, existe por compatibilidad.

yobject

Siempre se ignora, existe por compatibilidad.

groupsobject

Siempre se ignora, existe por compatibilidad.

Devuelve
n_splitsint

Devuelve el número de iteraciones de división en el validador cruzado.

split()

Genera índices para dividir los datos en conjunto de entrenamiento y de prueba.

Parámetros
Xarray-like de forma (n_samples, n_features)

Datos de entrenamiento, donde n_samples es el número de muestras y n_features es el número de características.

yarray-like de forma (n_samples,) default=None

La variable objetivo para problemas de aprendizaje supervisado.

groupsarray-like de forma (n_samples,)

Etiquetas de grupo para las muestras utilizadas al dividir el conjunto de datos en conjunto de entrenamiento/prueba.

Produce
trainndarray

Los índices del conjunto de entrenamiento para esa división.

testndarray

Los índices del conjunto de pruebas para esa división.

Ejemplos utilizando sklearn.model_selection.GroupKFold