Codificació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']])
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.94
Codificació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']])
¡Gracias por tus comentarios!