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]]