Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Codificador Ordinal | Pré-Processamento de Dados com Scikit-Learn
Introdução ao ML com Scikit-Learn

bookCodificador Ordinal

A próxima questão a ser tratada é a dos dados categóricos. Existem dois principais tipos de variáveis categóricas.

Dados ordinais possuem uma ordem natural, enquanto dados nominais não possuem. Devido a essa ordem, as categorias podem ser codificadas como números de acordo com sua classificação.

Por exemplo, uma coluna 'rate' com os valores 'Terrible', 'Bad', 'OK', 'Good' e 'Great' pode ser codificada como:

  • 'Terrible' → 0
  • 'Bad' → 1
  • 'OK' → 2
  • 'Good' → 3
  • 'Great' → 4

Para codificar dados ordinais, utiliza-se o OrdinalEncoder. Ele converte categorias em inteiros a partir de 0.

O OrdinalEncoder é aplicado da mesma forma que outros transformadores. O principal desafio está em especificar corretamente o argumento categories.

Por exemplo, considere um conjunto de dados (não o conjunto penguins) que contém uma coluna 'education'. O primeiro passo é verificar seus valores únicos.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') print(df['education'].unique())
copy

Uma lista ordenada de valores categóricos deve ser criada, variando de 'HS-grad' até 'Doctorate'.

1234567891011121314
import pandas as pd from sklearn.preprocessing import OrdinalEncoder # Load the data and assign X, y variables df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') y = df['income'] # 'income' is a target in this dataset X = df.drop('income', axis=1) # Create a list of categories so HS-grad is encoded as 0 and Doctorate as 6 edu_categories = ['HS-grad', 'Some-college', 'Assoc', 'Bachelors', 'Masters', 'Prof-school', 'Doctorate'] # Initialize an OrdinalEncoder instance with the correct categories ord_enc = OrdinalEncoder(categories=[edu_categories]) # Transform the 'education' column and print it X['education'] = ord_enc.fit_transform(X[['education']]) print(X['education'])
copy

Ao transformar múltiplas variáveis com o OrdinalEncoder, as categorias de cada coluna devem ser especificadas explicitamente. Isso é feito por meio do argumento categories:

encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])

1. Qual afirmação melhor descreve o uso do OrdinalEncoder para lidar com dados categóricos em um conjunto de dados?

2. Suponha que você tenha uma coluna categórica chamada 'Color'. Seria apropriado utilizar o OrdinalEncoder para codificar seus valores?

question mark

Qual afirmação melhor descreve o uso do OrdinalEncoder para lidar com dados categóricos em um conjunto de dados?

Select the correct answer

question mark

Suponha que você tenha uma coluna categórica chamada 'Color'. Seria apropriado utilizar o OrdinalEncoder para codificar seus valores?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Suggested prompts:

Can you explain the difference between ordinal and nominal data in more detail?

How do I determine the correct order for ordinal categories?

What happens if I don't specify the categories argument correctly in OrdinalEncoder?

Awesome!

Completion rate improved to 3.13

bookCodificador Ordinal

Deslize para mostrar o menu

A próxima questão a ser tratada é a dos dados categóricos. Existem dois principais tipos de variáveis categóricas.

Dados ordinais possuem uma ordem natural, enquanto dados nominais não possuem. Devido a essa ordem, as categorias podem ser codificadas como números de acordo com sua classificação.

Por exemplo, uma coluna 'rate' com os valores 'Terrible', 'Bad', 'OK', 'Good' e 'Great' pode ser codificada como:

  • 'Terrible' → 0
  • 'Bad' → 1
  • 'OK' → 2
  • 'Good' → 3
  • 'Great' → 4

Para codificar dados ordinais, utiliza-se o OrdinalEncoder. Ele converte categorias em inteiros a partir de 0.

O OrdinalEncoder é aplicado da mesma forma que outros transformadores. O principal desafio está em especificar corretamente o argumento categories.

Por exemplo, considere um conjunto de dados (não o conjunto penguins) que contém uma coluna 'education'. O primeiro passo é verificar seus valores únicos.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') print(df['education'].unique())
copy

Uma lista ordenada de valores categóricos deve ser criada, variando de 'HS-grad' até 'Doctorate'.

1234567891011121314
import pandas as pd from sklearn.preprocessing import OrdinalEncoder # Load the data and assign X, y variables df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') y = df['income'] # 'income' is a target in this dataset X = df.drop('income', axis=1) # Create a list of categories so HS-grad is encoded as 0 and Doctorate as 6 edu_categories = ['HS-grad', 'Some-college', 'Assoc', 'Bachelors', 'Masters', 'Prof-school', 'Doctorate'] # Initialize an OrdinalEncoder instance with the correct categories ord_enc = OrdinalEncoder(categories=[edu_categories]) # Transform the 'education' column and print it X['education'] = ord_enc.fit_transform(X[['education']]) print(X['education'])
copy

Ao transformar múltiplas variáveis com o OrdinalEncoder, as categorias de cada coluna devem ser especificadas explicitamente. Isso é feito por meio do argumento categories:

encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])

1. Qual afirmação melhor descreve o uso do OrdinalEncoder para lidar com dados categóricos em um conjunto de dados?

2. Suponha que você tenha uma coluna categórica chamada 'Color'. Seria apropriado utilizar o OrdinalEncoder para codificar seus valores?

question mark

Qual afirmação melhor descreve o uso do OrdinalEncoder para lidar com dados categóricos em um conjunto de dados?

Select the correct answer

question mark

Suponha que você tenha uma coluna categórica chamada 'Color'. Seria apropriado utilizar o OrdinalEncoder para codificar seus valores?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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