LabelEncoder#

Permite normalizar las etiquetas de la variable de salida tal que contengan valores entre 0 y n_classes - 1.

[1]:
from sklearn.preprocessing import LabelEncoder

#
# Aplicación de LabelEncoder sobre una columna de enteros
#
y = [1, 2, 2, 6]

labelEncoder = LabelEncoder()

labelEncoder.fit(y)

#
# Clases codificadas
#
labelEncoder.classes_
[1]:
array([1, 2, 6])
[2]:
#
# Transformación
#
labelEncoder.transform(y)
[2]:
array([0, 1, 1, 2])
[3]:
#
# Transformación inversa
#
labelEncoder.inverse_transform([0, 0, 1, 2])
[3]:
array([1, 1, 2, 6])
[4]:
#
# Aplicación sobre una columna de strings
#
import pandas as pd

df = pd.DataFrame(
    [
        ["paris"],
        ["paris"],
        ["tokyo"],
        ["amsterdam"],
    ],
    columns=["city"],
)
df
[4]:
city
0 paris
1 paris
2 tokyo
3 amsterdam
[5]:
encoded_df = df.copy()
encoded_df["city"] = LabelEncoder().fit_transform(df.city)

encoded_df.head()
[5]:
city
0 1
1 1
2 2
3 0