Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Codificação de Variáveis Categóricas | Conceitos Centrais
Análise de Clusters

bookCodificaçã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']]) 
question mark

Qual método de codificação é mais adequado para uma variável categórica como 'country' com valores como "USA", "Canada" e "Germany", onde não há uma ordem natural?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 2.94

bookCodificaçã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']]) 
question mark

Qual método de codificação é mais adequado para uma variável categórica como 'country' com valores como "USA", "Canada" e "Germany", onde não há uma ordem natural?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 2
some-alt