O que é One-Hot encoding?
One-Hot Encoding
A estratégia de One-Hot Encoding consiste em transformar dados categóricos em uma representação binária dos mesmos, transformando linhas em colunas.
Por exemplo:
Imagine que você tem a seguinte tabela
formato | cor | nome |
---|---|---|
redonda | vermelha | maçã |
irregular | amarelo | banana |
redonda | verde | maçã |
Queremos construir um modelo para identificar, baseado no formato e na cor, se a fruta é uma "maçã" ou uma "banana".
Computadores não são bons com palavras, eles são bons em bits (0's e 1's).
Então, precisamos transformar nossos dados categóricos em bits.
Como fazemos isso? Utilizando a estratégia de One-Hot encoding.
Simples.
Vamos começar pela coluna formato.
Basta pegar todos os valores únicos que essa coluna tem, que no caso são "redonda" e "irregular".
Então, iremos criar duas colunas a mais:
redonda | irregular | formato | cor | nome |
---|---|---|---|---|
- | - | redonda | vermelha | maçã |
- | - | irregular | amarelo | banana |
- | - | redonda | verde | maçã |
Por enquanto, sem valores.
Agora, para cada coluna "redonda" ou "irregular", iremos preencher com 0's e 1's.
Funciona da seguinte forma:
Vamos na linha 1 e verificamos qual o formato desse sample, e notamos que é "redonda",
então, agora na mesma linha na coluna redonda iremos preencher com o número "1", como se
estivéssemos "ativando" a propriedade redonda para aquela linha.
Agora, como se pode imaginar, podemos preencher a coluna irregular dessa linha com "0", já que só
podemos ter um formato para cada sample e no caso é "redonda" então deixamos o "irregular" "desativado".
Agora, fazemos isso para todas as outras linhas e ficamos com o seguinte formato:
redonda | irregular | formato | cor | nome |
---|---|---|---|---|
1 | 0 | redonda | vermelha | maçã |
0 | 1 | irregular | amarelo | banana |
1 | 0 | redonda | verde | maçã |
Agora, podemos remover a coluna "formato" pois já temos a informação do formato como colunas, então, ficamos com o seguinte resultado:
redonda | irregular | cor | nome |
---|---|---|---|
1 | 0 | vermelha | maçã |
0 | 1 | amarelo | banana |
1 | 0 | verde | maçã |
Agora, vemos que a "cor" também é uma variável categórica então aplicamos a ténica de transformar
as ocorrências únicas dessa variável em colunas
vermelha | amarela | verde | redonda | irregular | cor | nome |
---|---|---|---|---|---|---|
- | - | - | 1 | 0 | vermelha | maçã |
- | - | - | 0 | 1 | amarelo | banana |
- | - | - | 1 | 0 | verde | maçã |
E então, fazemos o preenchimento com zeros e uns da mesma forma:
vermelha | amarela | verde | redonda | irregular | cor | nome |
---|---|---|---|---|---|---|
1 | 0 | 0 | 1 | 0 | vermelha | maçã |
0 | 1 | 0 | 0 | 1 | amarelo | banana |
0 | 0 | 1 | 1 | 0 | verde | maçã |
E, por fim, removemos a coluna "cor"
vermelha | amarela | verde | redonda | irregular | nome |
---|---|---|---|---|---|
1 | 0 | 0 | 1 | 0 | maçã |
0 | 1 | 0 | 0 | 1 | banana |
0 | 0 | 1 | 1 | 0 | maçã |
E agora, temos um dataset pronto para ser usado em um algoritimo de classificação, por exemplo.
Wiki
Variável categórica
Em estatística, uma variável categórica é uma variável que pode assumir apenas um número limitado, e geralmente fixo, de valores possíveis, atribuindo cada indivíduo ou outra unidade de observação a um determinado grupo ou categoria nominal com base em alguma propriedade qualitativa.
Sample
Em ciência de dados, um sample (amostra) refere-se a um conjunto selecionado de observações extraídas
de uma população maior para facilitar a análise e inferência estatística sem necessidade
de examinar toda a população.