En el análisis exploratorio de datos (EDA), uno de los retos más comunes es trabajar correctamente con variables categóricas. Estas variables representan categorías o grupos, como por ejemplo:
- país
- tipo de producto
- estado del pedido
- categoría de cliente
A diferencia de las variables numéricas, las variables categóricas no pueden analizarse directamente mediante operaciones matemáticas tradicionales. Por ello, es necesario aplicar técnicas específicas para comprender su distribución y su relación con otras variables.
En esta segunda parte exploraremos algunas estrategias útiles para analizar y transformar variables categóricas durante el EDA.
Identificación de variables categóricas
Antes de analizar los datos, es importante identificar correctamente qué columnas del dataset representan variables categóricas.
En Python, esto puede hacerse utilizando bibliotecas como Pandas.
Ejemplo:
import pandas as pd
df = pd.read_csv(«dataset.csv»)
categorical_columns = df.select_dtypes(include=[«object», «category»])
print(categorical_columns.columns)
Esto permite identificar columnas categóricas dentro del dataset.
Analizar la frecuencia de categorías
Uno de los primeros pasos en el análisis exploratorio es revisar la frecuencia de cada categoría.
Ejemplo:
df[«product_category»].value_counts()
Esto permite entender:
- cuáles son las categorías más comunes
- si existen categorías poco frecuentes
- si hay posibles problemas de desbalanceo
Visualización de variables categóricas
Las visualizaciones ayudan a comprender mejor la distribución de las categorías.
Una forma común es utilizar gráficos de barras.
Ejemplo con Seaborn:
import seaborn as sns
import matplotlib.pyplot as plt
sns.countplot(data=df, x=»product_category»)
plt.show()
Este tipo de visualización permite identificar patrones o distribuciones desiguales entre categorías.
Agrupar categorías poco frecuentes
En muchos datasets pueden aparecer categorías con muy pocas observaciones.
Esto puede generar problemas en modelos de machine learning o en análisis estadísticos.
Una estrategia común es agrupar categorías poco frecuentes en una categoría llamada “Other”.
Ejemplo:
threshold = 10
value_counts = df[«category»].value_counts()
rare_categories = value_counts[value_counts < threshold].index
df[«category»] = df[«category»].replace(rare_categories, «Other»)
Esto ayuda a simplificar el análisis.
Codificación de variables categóricas
Para utilizar variables categóricas en modelos de machine learning es necesario transformarlas en valores numéricos.
Uno de los métodos más utilizados es One-Hot Encoding.
Ejemplo:
encoded_df = pd.get_dummies(df, columns=[«category»])
Esto crea nuevas columnas binarias para cada categoría.
Label Encoding
Otra opción es el Label Encoding, que asigna un número entero a cada categoría.
Ejemplo con Scikit-learn:
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
df[«category_encoded»] = encoder.fit_transform(df[«category»])
Sin embargo, este método puede introducir relaciones numéricas artificiales entre categorías, por lo que debe utilizarse con cuidado.
Analizar relación entre variables categóricas y numéricas
También es útil analizar cómo se relacionan las variables categóricas con variables numéricas.
Por ejemplo, se pueden comparar distribuciones utilizando gráficos de caja.
sns.boxplot(data=df, x=»category», y=»sales»)
plt.show()
Esto permite identificar si ciertas categorías están asociadas a valores más altos o bajos de una variable numérica.
Variables categóricas de alta cardinalidad
Un problema frecuente es la alta cardinalidad, cuando una variable tiene demasiadas categorías.
Ejemplos comunes incluyen:
- IDs de usuarios
- nombres de productos
- direcciones
En estos casos, técnicas como One-Hot Encoding pueden generar demasiadas columnas.
Algunas estrategias para manejar alta cardinalidad incluyen:
- agrupar categorías
- utilizar target encoding
- aplicar técnicas de reducción de dimensionalidad
Buenas prácticas en el análisis de datos categóricos
Al trabajar con variables categóricas es recomendable:
- analizar su distribución antes de aplicar transformaciones
- detectar valores raros o inconsistentes
- agrupar categorías poco frecuentes
- seleccionar la técnica de codificación adecuada
- documentar las transformaciones aplicadas
Estas prácticas ayudan a mejorar la calidad del análisis y de los modelos posteriores.
Importancia en el análisis exploratorio
El tratamiento correcto de variables categóricas es fundamental en el análisis exploratorio porque muchas variables clave en datasets reales son categóricas.
Comprender su distribución y su relación con otras variables permite obtener insights importantes antes de aplicar modelos predictivos.
Conclusión
Las variables categóricas son una parte fundamental de muchos datasets y requieren técnicas específicas para su análisis y transformación. Durante el EDA, es importante analizar su distribución, identificar categorías poco frecuentes y aplicar métodos adecuados de codificación para preparar los datos para análisis más avanzados o modelos de machine learning.
Un manejo adecuado de estas variables mejora la calidad del análisis y contribuye a construir modelos más robustos y fiables.




