Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Codificación de Características Categóricas | Conceptos Fundamentales
Análisis de Conglomerados

bookCodificación de Características Categóricas

Los algoritmos de clustering como K-means requieren datos numéricos. Las características categóricas deben convertirse a formato numérico mediante codificación. Aprenderá sobre codificación ordinal y one-hot encoding.

Codificación Ordinal

La codificación ordinal convierte categorías ordenadas en valores numéricos, preservando su rango. Por ejemplo, la codificación ordinal de la columna 'education_level' transformará sus valores de "High School", "Bachelor's", "Master's", 'PhD' a 0, 1, 2, 3.

Esto asume una diferencia numérica significativa entre los valores codificados, lo cual puede no ser siempre exacto.

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

La codificación one-hot convierte categorías nominales (sin orden) en columnas binarias, donde cada categoría se convierte en una nueva columna. Para una característica con n categorías, esto normalmente crea n columnas — una columna es 1 para la categoría correspondiente y las demás son 0. Sin embargo, solo se necesitan n-1 columnas para representar la información sin redundancia.

Por ejemplo, una columna 'color' con valores 'red', 'blue' y 'green' puede codificarse con solo dos columnas: 'color_red' y 'color_blue'. Si una fila tiene 0 en ambas, implica que el color es 'green'. Al eliminar una columna, se evita la redundancia.

La eliminación de la columna redundante se especifica mediante drop='first':

from sklearn.preprocessing import OneHotEncoder 

encoder = OneHotEncoder(drop='first', sparse=False) 

encoded = encoder.fit_transform(df[['color']]) 
question mark

¿Qué método de codificación es más adecuado para una característica categórica como 'country' con valores como "USA", "Canada" y "Germany", donde no existe un orden natural?

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 2.94

bookCodificación de Características Categóricas

Desliza para mostrar el menú

Los algoritmos de clustering como K-means requieren datos numéricos. Las características categóricas deben convertirse a formato numérico mediante codificación. Aprenderá sobre codificación ordinal y one-hot encoding.

Codificación Ordinal

La codificación ordinal convierte categorías ordenadas en valores numéricos, preservando su rango. Por ejemplo, la codificación ordinal de la columna 'education_level' transformará sus valores de "High School", "Bachelor's", "Master's", 'PhD' a 0, 1, 2, 3.

Esto asume una diferencia numérica significativa entre los valores codificados, lo cual puede no ser siempre exacto.

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

La codificación one-hot convierte categorías nominales (sin orden) en columnas binarias, donde cada categoría se convierte en una nueva columna. Para una característica con n categorías, esto normalmente crea n columnas — una columna es 1 para la categoría correspondiente y las demás son 0. Sin embargo, solo se necesitan n-1 columnas para representar la información sin redundancia.

Por ejemplo, una columna 'color' con valores 'red', 'blue' y 'green' puede codificarse con solo dos columnas: 'color_red' y 'color_blue'. Si una fila tiene 0 en ambas, implica que el color es 'green'. Al eliminar una columna, se evita la redundancia.

La eliminación de la columna redundante se especifica mediante drop='first':

from sklearn.preprocessing import OneHotEncoder 

encoder = OneHotEncoder(drop='first', sparse=False) 

encoded = encoder.fit_transform(df[['color']]) 
question mark

¿Qué método de codificación es más adecuado para una característica categórica como 'country' con valores como "USA", "Canada" y "Germany", donde no existe un orden natural?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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