Columnas distintas, tratos distintos en Python
ColumnTransformer enruta columnas numéricas y categóricas por caminos separados.
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder, StandardScaler
preparador = ColumnTransformer(
transformers=[
("numeric", StandardScaler(), [0, 1]),
("categorical", OneHotEncoder(handle_unknown="ignore"), [2]),
],
remainder="drop",
)
filas = [[1.0, 10.0, "rojo"], [2.0, 20.0, "azul"], [3.0, 30.0, "rojo"]]
salida = preparador.fit_transform(filas)
print(salida.shape)
print(preparador.get_feature_names_out())
Cómo funciona
- Cada entrada es (name, transformer, columns).
OneHotEncoderconvierte categorías en columnas indicadoras.remainderdecide qué pasa con las columnas que no nombraste.
Palabras clave y builtins usados aquí
print
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 458
- Tokens
- 120
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 69 segundos.
Paso 3 de 4 en Preprocesamiento; paso 6 de 25 en Machine learning con scikit-learn.