sklearn.utils.resample

sklearn.utils.resample()

Remuestrea arreglos o matrices dispersas de forma coherente.

La estrategia predeterminada implementa un paso del procedimiento de bootstrapping.

Parámetros
*arrayssecuencia de array-like de forma (n_samples,) o (n_samples, n_outputs)

Las estructuras de datos indexables pueden ser arreglos, listas, dataframes o matrices dispersas scipy con una primera dimensión consistente.

replacebool, default=True

Implementa remuestreo con reemplazo. Si es False, implementará permutaciones aleatorias (divididas).

n_samplesint, default=None

Número de muestras a generar. Si se deja en None se establece automáticamente a la primera dimensión de los arreglos. Si se sustituye por False no debe ser mayor que la longitud de los arreglos.

random_stateentero, instancia de RandomState o None, default=None

Determina la generación de números aleatorios para revolver los datos. Pasa un número entero (int) para obtener resultados reproducibles a través de múltiples invocaciones a la función. Consulta el Glosario.

stratifyarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None

Si no es None, los datos se dividen de forma estratificada, utilizando esto como las etiquetas de clase.

Devuelve
resampled_arrayssecuencia de array-like de forma (n_samples,) o (n_samples, n_outputs)

Secuencia de copias remuestreadas de las colecciones. Los arreglos originales no se ven afectados.

Ver también

shuffle

Ejemplos

Es posible mezclar arreglos dispersos y densos en la misma ejecución:

>>> X = np.array([[1., 0.], [2., 1.], [0., 0.]])
>>> y = np.array([0, 1, 2])

>>> from scipy.sparse import coo_matrix
>>> X_sparse = coo_matrix(X)

>>> from sklearn.utils import resample
>>> X, X_sparse, y = resample(X, X_sparse, y, random_state=0)
>>> X
array([[1., 0.],
       [2., 1.],
       [1., 0.]])

>>> X_sparse
<3x2 sparse matrix of type '<... 'numpy.float64'>'
    with 4 stored elements in Compressed Sparse Row format>

>>> X_sparse.toarray()
array([[1., 0.],
       [2., 1.],
       [1., 0.]])

>>> y
array([0, 1, 0])

>>> resample(y, n_samples=2, random_state=0)
array([0, 1])

Ejemplo de uso de la estratificación:

>>> y = [0, 0, 1, 1, 1, 1, 1, 1, 1]
>>> resample(y, n_samples=5, replace=False, stratify=y,
...          random_state=0)
[1, 1, 1, 0, 1]