Validación cruzada en Python
Una sola división es azar; la validación cruzada puntúa cada pliegue y promedia.
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
X, y = load_iris(return_X_y=True)
modelo = make_pipeline(StandardScaler(), LogisticRegression(max_iter=500))
puntajes = cross_val_score(modelo, X, y, cv=5, scoring="accuracy")
print(puntajes.round(3))
print(f"{puntajes.mean():.3f} +/- {puntajes.std():.3f}")
Cómo funciona
cross_val_scoreajusta un clon fresco del estimador por pliegue.cv=5significa cinco pliegues, así que regresan cinco puntajes.- La media y la dispersión juntas te dicen cuánto confiar.
Palabras clave y builtins usados aquí
print
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 494
- Tokens
- 109
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 59 segundos.
Paso 1 de 4 en Validación; paso 8 de 25 en Machine learning con scikit-learn.