Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Codificação "One-hot" sem referência

No exemplo dado no vídeo, na linha 3, não só há valores "0" para as três categorias: origen_TCY, origen_TZF e origen_ZQO. Não era pra apresentar o valor "1" para uma das categorias?

1 resposta
solução!

Oi Samuel, tudo bem?!

Como você está se referindo a coluna origin, acredito que esteja se referindo do get_dummies(), certo?

Na verdade, a coluna origin tem 10 categorias e o pd.get_dummies cria uma coluna para cada uma. Ao executar o código, o colab omite algumas colunas e só aparecem só três (origin_TCY, origin_TZF, origin_ZQO), mas isso não significa que não exista um “1” , ele estar em outra coluna que ficou fora do recorte.

Se a linha em questão for de outro aeroporto, como EMM, essas três ficam 0 e o 1 aparece em origin_EMM (que não está visível no recorte).

Se quiser ver todas as colunas criadas para origin, use:

[col for col in df_encoded.columns if col.startswith('origin_')]

E para visualizar essas colunas no DataFrame:

df_encoded[[c for c in df_encoded.columns if c.startswith('origin_')]].head()

Print da saída do código acima:

Captura de tela do DataFrame df_encoded exibindo apenas as colunas que começam com origin_. Cada coluna representa um aeroporto (por exemplo, origin_AUZ, origin_CNU, origin_CSF, origin_EMM, origin_FJB, origin_MWL, origin_PUA, origin_TCY, origin_TZF, origin_ZQO). As linhas contêm valores binários (0 ou 1). Na linha destacada em vermelho (linha 3), a coluna origin_EMM tem valor 1, enquanto todas as outras colunas estão com valor 0, indicando que aquele voo teve origem no aeroporto EMM.
Assim você consegue confirmar que sempre haverá exatamente um “1” entre as colunas de origin em cada linha (exceto se houver valores ausentes).

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!