Python One Hot Coding Pandas

Python One Hot Coding Pandas
Este artículo le enseñará cómo realizar una codificación caliente en Python usando pandas y scikit learn.

La codificación en caliente se refiere a la conversión de datos categóricos en modelos que los algoritmos de aprendizaje automático pueden usar. En la mayoría de los casos, esto implica convertir cada valor de categoría en un valor binario de 1 o 0.

La imagen a continuación ilustra una codificación única.

Fuente: Kaggle

Puede explorar una codificación única en el recurso a continuación:

https: // en.Wikipedia.org/wiki/un solo

Data de muestra

Comencemos creando datos de muestra. Primero, use el código de muestra como se muestra a continuación:

importar pandas como PD
DF = PD.Marco de datos(
"Categorías": ['Cat1', 'Cat2', 'Cat3', 'Cat2', 'Cat1', 'Cat1', 'Cat3'],
"Valores": [10,20,20,40,24,34,23]
)
df

Importar OneHotEncoder de Sci-kit-learn para realizar una codificación única para realizar una codificación única como se muestra:

de Sklearn.preprocesamiento de importación onehotencoder
# Instanciación
e = OneHotEncoder (handle_unknown = 'ignorar')
# codificar
e_df = PD.DataFrame (E.Fit_transform (df [['categorías']]).toArray ())
E_DF

En el ejemplo anterior, comenzamos importando el OneHotEncoder de Sci-Kit-Learn. Luego creamos una instancia de codificador y pasamos el parámetro Handle_unknown para ignorar.

Finalmente, creamos un nuevo marco de datos a partir de los datos codificados. El código anterior debe devolver el nuevo DataFrame como se muestra:

También puede fusionar el cuadro de datos codificado al marco de datos original utilizando el método de unión como:

DF = DF.unir (e_df)
df

El código anterior debe devolver:

Conclusión

Este artículo cubre el mínimo de realizar una codificación básica de un solo estado de un marco de datos Pandas utilizando la biblioteca Sci-kit-learn.