typestar

Elegir los pliegues en Python

KFold y StratifiedKFold deciden cómo se parten los datos.

import numpy as np
from sklearn.model_selection import KFold, StratifiedKFold

X = np.arange(20).reshape(10, 2)
y = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1])

simple = KFold(n_splits=5, shuffle=True, random_state=0)
balanceado = StratifiedKFold(n_splits=5, shuffle=True, random_state=0)

for idx_entreno, idx_prueba in simple.split(X):
    print("simple", idx_prueba)
    break

for idx_entreno, idx_prueba in balanceado.split(X, y):
    print("estratificado", idx_prueba, y[idx_prueba])
    break

Cómo funciona

  1. shuffle=True protege contra el orden en los datos fuente.
  2. StratifiedKFold preserva el balance de clases en cada pliegue.
  3. split produce arreglos de índices, así puedes inspeccionar los pliegues.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
480
Tokens
136
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 74 segundos.

Escribe este fragmento

Paso 2 de 4 en Validación; paso 9 de 25 en Machine learning con scikit-learn.

← Anterior Siguiente →