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.