Gradient boosting en Python
Árboles ajustados uno tras otro, cada uno corrigiendo lo que el anterior falló.
from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import HistGradientBoostingClassifier
from sklearn.model_selection import train_test_split
X, y = load_breast_cancer(return_X_y=True)
X_entreno, X_prueba, y_entreno, y_prueba = train_test_split(
X, y, test_size=0.25, random_state=0, stratify=y)
modelo = HistGradientBoostingClassifier(
learning_rate=0.1, max_iter=200, early_stopping=True, random_state=0)
modelo.fit(X_entreno, y_entreno)
print(f"entreno {modelo.score(X_entreno, y_entreno):.3f}")
print(f"prueba {modelo.score(X_prueba, y_prueba):.3f}")
print("etapas", modelo.n_iter_)
Cómo funciona
learning_rateintercambia exactitud por número de etapas.HistGradientBoostingClassifieres la versión rápida por histogramas.staged_predictte deja ver el puntaje mejorar etapa por etapa.
Palabras clave y builtins usados aquí
print
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 609
- Tokens
- 130
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 71 segundos.
Paso 2 de 4 en Modelos; paso 13 de 25 en Machine learning con scikit-learn.