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
shuffle=Trueprotege contra el orden en los datos fuente.StratifiedKFoldpreserva el balance de clases en cada pliegue.splitproduce arreglos de índices, así puedes inspeccionar los pliegues.
Palabras clave y builtins usados aquí
asbreakforprint
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.
Paso 2 de 4 en Validación; paso 9 de 25 en Machine learning con scikit-learn.