Codificação de Variáveis Categóricas
Algoritmos de clusterização como o K-means exigem dados numéricos. Características categóricas devem ser convertidas para formato numérico utilizando codificação. Serão apresentados os métodos de codificação ordinal e one-hot encoding.
Codificação Ordinal
A codificação ordinal converte categorias ordenadas em valores numéricos, preservando seu rankeamento. Por exemplo, a codificação ordinal da coluna 'education_level'
transformará seus valores de "High School"
, "Bachelor's"
, "Master's"
, 'PhD'
para 0
, 1
, 2
, 3
.
Isso pressupõe uma diferença numérica significativa entre os valores codificados, o que pode não ser sempre preciso.
from sklearn.preprocessing import OrdinalEncoder
education_levels = [['High School',
"Bachelor's",
"Master's",
"PhD"]]
encoder = OrdinalEncoder(categories=education_levels)
df[['education_encoded']] = encoder.fit_transform(df[['education_level']])
One-Hot Encoding
A codificação one-hot converte categorias nominais (sem ordem) em colunas binárias, onde cada categoria se torna uma nova coluna. Para uma característica com n
categorias, normalmente são criadas n
colunas — uma coluna recebe 1
para a categoria correspondente e as demais recebem 0
. No entanto, apenas n-1
colunas são necessárias para representar a informação sem redundância.
Por exemplo, uma coluna 'color'
com valores 'red'
, 'blue'
e 'green'
pode ser codificada com apenas duas colunas: 'color_red'
e 'color_blue'
. Se uma linha tiver 0
em ambas, isso implica que a cor é 'green'
. Ao remover uma coluna, evita-se a redundância.
A remoção da coluna redundante é especificada via drop='first'
:
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(drop='first', sparse=False)
encoded = encoder.fit_transform(df[['color']])
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.94
Codificação de Variáveis Categóricas
Deslize para mostrar o menu
Algoritmos de clusterização como o K-means exigem dados numéricos. Características categóricas devem ser convertidas para formato numérico utilizando codificação. Serão apresentados os métodos de codificação ordinal e one-hot encoding.
Codificação Ordinal
A codificação ordinal converte categorias ordenadas em valores numéricos, preservando seu rankeamento. Por exemplo, a codificação ordinal da coluna 'education_level'
transformará seus valores de "High School"
, "Bachelor's"
, "Master's"
, 'PhD'
para 0
, 1
, 2
, 3
.
Isso pressupõe uma diferença numérica significativa entre os valores codificados, o que pode não ser sempre preciso.
from sklearn.preprocessing import OrdinalEncoder
education_levels = [['High School',
"Bachelor's",
"Master's",
"PhD"]]
encoder = OrdinalEncoder(categories=education_levels)
df[['education_encoded']] = encoder.fit_transform(df[['education_level']])
One-Hot Encoding
A codificação one-hot converte categorias nominais (sem ordem) em colunas binárias, onde cada categoria se torna uma nova coluna. Para uma característica com n
categorias, normalmente são criadas n
colunas — uma coluna recebe 1
para a categoria correspondente e as demais recebem 0
. No entanto, apenas n-1
colunas são necessárias para representar a informação sem redundância.
Por exemplo, uma coluna 'color'
com valores 'red'
, 'blue'
e 'green'
pode ser codificada com apenas duas colunas: 'color_red'
e 'color_blue'
. Se uma linha tiver 0
em ambas, isso implica que a cor é 'green'
. Ao remover uma coluna, evita-se a redundância.
A remoção da coluna redundante é especificada via drop='first'
:
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(drop='first', sparse=False)
encoded = encoder.fit_transform(df[['color']])
Obrigado pelo seu feedback!