sklearn.model_selection.train_test_split

sklearn.model_selection.train_test_split()

Separar arreglos o matrices en subconjuntos aleatorios de entrenamiento y prueba

Utilidad rápida que envuelve la validación de la entrada y next(ShuffleSplit().split(X, y)) y la aplicación a los datos de entrada en una sola llamada para separar (y opcionalmente submuestrear) los datos en una línea.

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

Parámetros
*arrayssecuencia de indexables con la misma longitud / forma[0]

Las entradas permitidas son listas, arreglos numpy, matrices scipy-sparse o dataframes pandas.

test_sizefloat o int, default=None

Si es de punto flotante (float), debe estar entre 0,0 y 1,0 y representa la proporción del conjunto de datos que se incluirá en la división de la prueba. Si es int, representa el número absoluto de muestras de prueba. Si es None, el valor se establece como el complemento del tamaño del tren. Si train_size también es None, se establecerá en 0,25.

train_sizefloat o int, default=None

Si es de punto flotante (float), debe estar entre 0,0 y 1,0 y representa la proporción del conjunto de datos que se va a incluir en la división del tren. Si es int, representa el número absoluto de muestras de entrenamiento. Si es None, el valor se establece automáticamente en el complemento del tamaño de la prueba.

random_stateentero, instancia de RandomState o None, default=None

Controla el barajado aplicado a los datos antes de aplicar la división. Pasa un int para una salida reproducible a través de múltiples llamadas a la función. Ver Glosario.

shufflebooleano, default=True

Si se barajan o no los datos antes de la división. Si shuffle=False entonces stratify debe ser None.

stratifyarray-like, default=None

Si no es None, los datos se separan de forma estratificada, utilizando esto como las etiquetas de clase. Leer más en el Manual de usuario.

Devuelve
splittinglista, length=2 * len(arrays)

Lista que contiene la división de las entradas entre el entrenamiento y la prueba.

Nuevo en la versión 0.16: Si la entrada es dispersa, la salida será una matriz scipy.sparse.csr_matrix. Si no, el tipo de salida es el mismo que el de entrada.

Ejemplos

>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],
       [0, 1],
       [6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],
       [8, 9]])
>>> y_test
[1, 4]
>>> train_test_split(y, shuffle=False)
[[0, 1, 2], [3, 4]]

Ejemplos con sklearn.model_selection.train_test_split