sklearn.model_selection.LeavePGroupsOut

class sklearn.model_selection.LeavePGroupsOut

Dejar P Grupo(s) fuera del validador cruzado

Proporciona índices de entrenamiento/prueba para separar los datos según un grupo proporcionado por terceros. Esta información de grupo puede utilizarse para codificar estratificaciones específicas de dominio arbitrarias de las muestras como enteros.

Por ejemplo, los grupos podrían ser el año de recogida de las muestras y permitir así la validación cruzada contra separaciones basadas en el tiempo.

La diferencia entre LeavePGroupsOut y LeaveOneGroupOut es que el primero construye los conjuntos de prueba con todas las muestras asignadas a p valores diferentes de los grupos, mientras que el segundo utiliza muestras asignadas todas a los mismos grupos.

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

Parámetros
n_groupsint

Número de grupos (p) que hay que dejar fuera en la separación de la prueba.

Ver también

GroupKFold

Variante del iterador K-fold con grupos no solapados.

Ejemplos

>>> import numpy as np
>>> from sklearn.model_selection import LeavePGroupsOut
>>> X = np.array([[1, 2], [3, 4], [5, 6]])
>>> y = np.array([1, 2, 1])
>>> groups = np.array([1, 2, 3])
>>> lpgo = LeavePGroupsOut(n_groups=2)
>>> lpgo.get_n_splits(X, y, groups)
3
>>> lpgo.get_n_splits(groups=groups)  # 'groups' is always required
3
>>> print(lpgo)
LeavePGroupsOut(n_groups=2)
>>> for train_index, test_index in lpgo.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: [2] TEST: [0 1]
[[5 6]] [[1 2]
 [3 4]] [1] [1 2]
TRAIN: [1] TEST: [0 2]
[[3 4]] [[1 2]
 [5 6]] [2] [1 1]
TRAIN: [0] TEST: [1 2]
[[1 2]] [[3 4]
 [5 6]] [1] [2 1]

Métodos

get_n_splits

Devuelve el número de iteraciones divididas 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 divididas en el validador cruzado

Parámetros
Xobjeto

Siempre ignorado, existe por compatibilidad.

yobjeto

Siempre ignorado, existe por compatibilidad.

groupsarray-like de forma (n_samples,)

Etiquetas de grupo para las muestras utilizadas al separar el conjunto de datos en el conjunto de entrenamiento/prueba. Este parámetro “groups” debe especificarse siempre para calcular el número de separaciones, aunque los demás parámetros pueden omitirse.

Devuelve
n_splitsint

Devuelve el número de iteraciones divididas 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 los problemas de aprendizaje supervisado.

groupsarray-like de forma (n_samples,)

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

Produce
trainndarray

El entrenamiento establece los índices para esa división.

testndarray

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