typestar

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

  1. learning_rate intercambia exactitud por número de etapas.
  2. HistGradientBoostingClassifier es la versión rápida por histogramas.
  3. staged_predict te deja ver el puntaje mejorar etapa por etapa.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 4 en Modelos; paso 13 de 25 en Machine learning con scikit-learn.

← Anterior Siguiente →