Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende CodificadorOrdinal | Preprocesamiento de Datos con Scikit-learn
Introducción al ML con Scikit-learn

bookCodificadorOrdinal

El siguiente aspecto a tratar es el de los datos categóricos. Existen dos tipos principales de variables categóricas.

Ordinal se refiere a datos que tienen un orden natural, mientras que los datos nominales no lo tienen. Debido a este orden, las categorías pueden codificarse como números según su jerarquía.

Por ejemplo, una columna 'rate' con los valores 'Terrible', 'Bad', 'OK', 'Good' y 'Great' puede codificarse como:

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

Para codificar datos ordinales, se utiliza OrdinalEncoder. Este convierte las categorías en enteros comenzando desde 0.

OrdinalEncoder se aplica de la misma manera que otros transformadores. El principal desafío consiste en especificar correctamente el argumento categories.

Por ejemplo, considere un conjunto de datos (no el conjunto penguins) que contiene una columna 'education'. El primer paso es revisar sus 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

Se debe crear una lista ordenada de valores categóricos, que vaya desde 'HS-grad' hasta '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

Al transformar múltiples características con OrdinalEncoder, las categorías para cada columna deben especificarse explícitamente. Esto se realiza mediante el argumento categories:

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

1. ¿Cuál afirmación describe mejor el uso de OrdinalEncoder para manejar datos categóricos en un conjunto de datos?

2. Suponga que tiene una columna categórica llamada 'Color'. ¿Sería apropiado utilizar OrdinalEncoder para codificar sus valores?

question mark

¿Cuál afirmación describe mejor el uso de OrdinalEncoder para manejar datos categóricos en un conjunto de datos?

Select the correct answer

question mark

Suponga que tiene una columna categórica llamada 'Color'. ¿Sería apropiado utilizar OrdinalEncoder para codificar sus valores?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 3.13

bookCodificadorOrdinal

Desliza para mostrar el menú

El siguiente aspecto a tratar es el de los datos categóricos. Existen dos tipos principales de variables categóricas.

Ordinal se refiere a datos que tienen un orden natural, mientras que los datos nominales no lo tienen. Debido a este orden, las categorías pueden codificarse como números según su jerarquía.

Por ejemplo, una columna 'rate' con los valores 'Terrible', 'Bad', 'OK', 'Good' y 'Great' puede codificarse como:

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

Para codificar datos ordinales, se utiliza OrdinalEncoder. Este convierte las categorías en enteros comenzando desde 0.

OrdinalEncoder se aplica de la misma manera que otros transformadores. El principal desafío consiste en especificar correctamente el argumento categories.

Por ejemplo, considere un conjunto de datos (no el conjunto penguins) que contiene una columna 'education'. El primer paso es revisar sus 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

Se debe crear una lista ordenada de valores categóricos, que vaya desde 'HS-grad' hasta '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

Al transformar múltiples características con OrdinalEncoder, las categorías para cada columna deben especificarse explícitamente. Esto se realiza mediante el argumento categories:

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

1. ¿Cuál afirmación describe mejor el uso de OrdinalEncoder para manejar datos categóricos en un conjunto de datos?

2. Suponga que tiene una columna categórica llamada 'Color'. ¿Sería apropiado utilizar OrdinalEncoder para codificar sus valores?

question mark

¿Cuál afirmación describe mejor el uso de OrdinalEncoder para manejar datos categóricos en un conjunto de datos?

Select the correct answer

question mark

Suponga que tiene una columna categórica llamada 'Color'. ¿Sería apropiado utilizar OrdinalEncoder para codificar sus valores?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5
some-alt