Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Codificación de Variables Categóricas | Técnicas de Transformación de Datos
Preprocesamiento de Datos y Diseño de Características

bookCodificación de Variables Categóricas

Las variables categóricas son características en tus datos que representan categorías en lugar de valores numéricos. Ejemplos incluyen colores como "red", "green" y "blue", o etiquetas como "yes" y "no". Los algoritmos de aprendizaje automático requieren que los datos de entrada sean numéricos, por lo que es necesario convertir estas variables categóricas a un formato numérico antes de utilizarlas en los modelos. Este proceso se denomina codificación y garantiza que los algoritmos puedan interpretar y aprender de los datos de manera efectiva.

Note
Definición

La codificación one-hot crea una nueva columna binaria para cada categoría de una variable categórica. Cada observación recibe un 1 en la columna correspondiente a su categoría y 0 en las demás.

12345678910111213
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # One-hot encode the 'embarked' column embarked_encoded = pd.get_dummies(data["embarked"], prefix="embarked") # Concatenate with original dataset data = pd.concat([data, embarked_encoded], axis=1) print(data[["embarked", "embarked_C", "embarked_Q", "embarked_S"]].head())
copy
Note
Definición

La codificación de etiquetas asigna a cada categoría única en una variable un valor entero, transformando las etiquetas de texto en números.

123456789101112
import seaborn as sns import pandas as pd from sklearn.preprocessing import LabelEncoder # Load Titanic dataset data = sns.load_dataset("titanic") # Label encode the 'sex' column encoder = LabelEncoder() data["sex_encoded"] = encoder.fit_transform(data["sex"]) print(data[["sex", "sex_encoded"]].head())
copy
Note
Definición

La codificación ordinal asigna valores enteros ordenados a las categorías según su jerarquía natural. Este método preserva el orden inherente en variables categóricas ordinales, como los niveles educativos ("high school", "bachelor", "master", "doctorate").

123456789101112131415161718
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # Define the order of passenger classes: First < Second < Third class_order = ["First", "Second", "Third"] # Apply ordered categorical encoding data["class_encoded"] = pd.Categorical( data["class"], categories=class_order, ordered=True ).codes + 1 # +1 to make classes start from 1 instead of 0 # Display sample output print(data[["class", "class_encoded"]].head())
copy
Note
Nota

Tener precaución al codificar variables categóricas. La codificación one-hot puede introducir la trampa de variables ficticias (dummy variable trap), una situación en la que las características están altamente correlacionadas, lo que puede confundir a algunos modelos. Para evitar esto, se puede eliminar una de las columnas ficticias. La codificación por etiquetas impone una relación ordinal entre categorías, lo cual podría no ser apropiado para datos nominales.

question mark

¿Qué método de codificación es más apropiado para una variable categórica sin orden intrínseco, como "Color"?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 2

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 8.33

bookCodificación de Variables Categóricas

Desliza para mostrar el menú

Las variables categóricas son características en tus datos que representan categorías en lugar de valores numéricos. Ejemplos incluyen colores como "red", "green" y "blue", o etiquetas como "yes" y "no". Los algoritmos de aprendizaje automático requieren que los datos de entrada sean numéricos, por lo que es necesario convertir estas variables categóricas a un formato numérico antes de utilizarlas en los modelos. Este proceso se denomina codificación y garantiza que los algoritmos puedan interpretar y aprender de los datos de manera efectiva.

Note
Definición

La codificación one-hot crea una nueva columna binaria para cada categoría de una variable categórica. Cada observación recibe un 1 en la columna correspondiente a su categoría y 0 en las demás.

12345678910111213
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # One-hot encode the 'embarked' column embarked_encoded = pd.get_dummies(data["embarked"], prefix="embarked") # Concatenate with original dataset data = pd.concat([data, embarked_encoded], axis=1) print(data[["embarked", "embarked_C", "embarked_Q", "embarked_S"]].head())
copy
Note
Definición

La codificación de etiquetas asigna a cada categoría única en una variable un valor entero, transformando las etiquetas de texto en números.

123456789101112
import seaborn as sns import pandas as pd from sklearn.preprocessing import LabelEncoder # Load Titanic dataset data = sns.load_dataset("titanic") # Label encode the 'sex' column encoder = LabelEncoder() data["sex_encoded"] = encoder.fit_transform(data["sex"]) print(data[["sex", "sex_encoded"]].head())
copy
Note
Definición

La codificación ordinal asigna valores enteros ordenados a las categorías según su jerarquía natural. Este método preserva el orden inherente en variables categóricas ordinales, como los niveles educativos ("high school", "bachelor", "master", "doctorate").

123456789101112131415161718
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # Define the order of passenger classes: First < Second < Third class_order = ["First", "Second", "Third"] # Apply ordered categorical encoding data["class_encoded"] = pd.Categorical( data["class"], categories=class_order, ordered=True ).codes + 1 # +1 to make classes start from 1 instead of 0 # Display sample output print(data[["class", "class_encoded"]].head())
copy
Note
Nota

Tener precaución al codificar variables categóricas. La codificación one-hot puede introducir la trampa de variables ficticias (dummy variable trap), una situación en la que las características están altamente correlacionadas, lo que puede confundir a algunos modelos. Para evitar esto, se puede eliminar una de las columnas ficticias. La codificación por etiquetas impone una relación ordinal entre categorías, lo cual podría no ser apropiado para datos nominales.

question mark

¿Qué método de codificación es más apropiado para una variable categórica sin orden intrínseco, como "Color"?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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