Função fit_transform
O método fit_transform
do LabelEncoder
é uma função do módulo sklearn.preprocessing
da biblioteca scikit-learn. Ele é usado para realizar a codificação de atributos categóricos em valores numéricos de forma automática. Especificamente, o LabelEncoder
converte as categorias presentes em uma coluna de dados em valores inteiros únicos, atribuindo a cada categoria um número inteiro sequencial.
Sintaxe
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
encoded_data = encoder.fit_transform(data)
Parâmetros:
data
: Uma lista ou array contendo os atributos categóricos que se deseja codificar.
Retorno:
encoded_data
: Uma nova lista ou array com os atributos categóricos codificados em valores numéricos.
Exemplo
Suponha que temos uma coluna de dados categóricos representando o gênero de uma pessoa, onde as categorias são “Masculino” e “Feminino”. Utilizaremos o LabelEncoder
para codificar esses valores em números inteiros:
from sklearn.preprocessing import LabelEncoder
gender = ["Masculino", "Feminino", "Feminino", "Masculino", "Masculino"]
encoder = LabelEncoder()
encoded_gender = encoder.fit_transform(gender)
print(encoded_gender)
Saída:
[1 0 0 1 1]
Explicação: “Masculino” foi codificado como 1 e “Feminino” foi codificado como 0.
O LabelEncoder
é útil quando temos atributos categóricos sem uma ordem específica e queremos atribuir valores numéricos distintos a cada categoria para que os algoritmos de aprendizado de máquina possam processá-los adequadamente. No entanto, é importante ter em mente que essa codificação impõe uma ordem implícita às categorias, o que pode ser problemático em alguns cenários, especialmente quando as categorias não têm uma relação de ordem natural. Nesses casos, é recomendado o uso da técnica de One-Hot Encoding
.