1
resposta

[Bug] Sklearn Label enconder

A variável alvo tem dados de sim e nao, quando utilizo o LabelEnconder em vez da array resultar em 0 para NÃO e 1 para SIM; GERA 1 para NÃO e 2 para SIM.

Churn - Variável alvo
0 No
1 No
2 Yes
3 Yes
4 Yes
... ...
7251 No
7252 Yes
7253 No
7254 No
7255 No

Código para fazer a transformação

from sklearn.preprocessing import LabelEncoder
label_ecoder = LabelEncoder()
y = label_ecoder.fit_transform(y)
y
array([1, 1, 2, ..., 1, 1, 1])

Se alguem puder me ajudar, desde já agradeço.

1 resposta

Olá Jaqueline!

Você pode fazer isso com um mapeamento adicional. Se liga nesse exemplo que você pode usar como teste:

ㅤㅤ
Supondo que y seja a variável com os valores 'Yes' e 'No'

from sklearn.preprocessing import LabelEncoder
label_ecoder = LabelEncoder()
y = label_ecoder.fit_transform(y)

ㅤㅤ
Inverter os valores, trocando 0 por 1 e 1 por 2

y = y + 1
print(y)

ㅤㅤㅤㅤ
Essa linha y = y + 1 ajusta os valores para que o "Não" seja representado por 1 e o "Sim" por 2, conforme o que você deseja.

Testa e se essa resposta te ajudou de alguma forma, ficaria grato se puder marcar como solução.