Fuente: Google & Coursera
Otros enfoques de la transformación de datos
COMO SABE, los datos nos llegan en muchas formas diferentes. Para los tipos de datos categóricos o cualitativos, los profesionales de datos a menudo necesitan transformar (o codificar) este tipo de datos en dígitos numéricos para completar su análisis, diseñar su visualización de datos o construir su algoritmo de Aprendizaje automático. En esta lectura, aprenderá sobre los dos tipos principales de codificación de datos categóricos y cuándo utilizar cada tipo.
Codificación de etiquetas
Ya ha aprendido sobre la codificación de etiquetas, que es un tipo de técnica de transformación de datos en la que a cada valor de datos se le asigna un número distinto en lugar de un valor cualitativo.
Si recuerdas el vídeo, en el ejemplo se codificaban con etiquetas los tipos de setas:
Tipo de seta | Código |
|---|---|
Trufa negra | 0 |
Botón | 1 |
Cremini | 2 |
Erizo | 3 |
Rey Trompeta | 4 |
Morilla | 5 |
Portobello | 6 |
Shiitake | 7 |
Seta | 8 |
Como puede deducirse, para este hipotético conjunto de datos sobre setas, a cada tipo de seta se le asignó su propio número, empezando por cero.
Algunos problemas potenciales con la codificación de etiquetas
Imagine que está analizando un conjunto de datos con categorías de géneros musicales. Usted codifica las etiquetas "Blues", "Electronic Dance Music (EDM)", "Hip Hop", "Jazz", "K-Pop", "Metal" y "Rock" con los siguientes valores numéricos: "1, 2, 3, 4, 5, 6 y 7".
Con esta codificación de etiquetas, el modelo de Aprendizaje automático resultante podría derivar no sólo una clasificación, sino también una conexión más estrecha entre Blues (1) y EDM (2) debido a lo cerca que están numéricamente que, por ejemplo, Blues(1) y Jazz(4). Además de estas supuestas relaciones (que puede que quiera o no incluir en su análisis), también debe observar que cada código es equidistante del otro en la secuencia numérica, es decir, 1 a 2 está a la misma distancia que 5 a 6, etc. La pregunta es si esa relación equidistante representa fielmente las relaciones entre los géneros musicales de su conjunto de datos Por hacer otra pregunta, después de la codificación, ¿la visualización o el modelo que construya tratará las etiquetas codificadas como una clasificación?
Lo mismo podría decirse del ejemplo anterior de las setas. Tras codificar las etiquetas de los tipos de setas, ¿está usted satisfecho con el hecho de que las setas estén ahora en un supuesto orden de clasificación con las setas de botón en primer lugar y las setas de sapo en octavo lugar?
En resumen, la codificación de etiquetas puede introducir relaciones no deseadas entre los datos categóricos de su conjunto de datos. Cuando tome decisiones sobre la codificación de etiquetas, tenga en cuenta el algoritmo que aplicará a los datos y cómo puede afectar o no a los datos categóricos codificados con etiquetas.
Afortunadamente, existe otro método para la codificación categórica que puede ayudar con estos problemas potenciales.
Codificación one-hot
ASÍ COMO aprendió en un vídeo anterior, puede crear variables ficticias en Python. Si recuerdas, una variable ficticia es una variable con valores de 0 ó 1, que indican la presencia o ausencia de algo. La idea es crear una nueva columna para cada tipo de categoría, y luego para cada valor indicar un 0 o un 1 - 0 significa, no, y 1 significa, sí.
Esta creación de dummies se denomina Codificación one-hot. Como recordatorio, una tabla con Codificación one-hot termina así:
n/A | Leve | Disperso | Fuerte | Grave |
|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
2 | 0 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 0 |
4 | 0 | 0 | 0 | 1 |
5 | 0 | 0 | 0 | 1 |
6 | 0 | 0 | 0 | 1 |
7 | 0 | 0 | 0 | 1 |
8 | 0 | 0 | 1 | 0 |
9 | 0 | 1 | 0 | 0 |
10 | 1 | 0 | 0 | 0 |
11 | 1 | 0 | 0 | 0 |
12 | 0 | 1 | 0 | 0 |
Encontrará que los valores del conjunto de datos de rayos que se tratan en el vídeo están etiquetados como "leves" y tienen un "1" "Leve" se refiere al cuartil más bajo de los recuentos de rayos en el conjunto de datos. Para cualquier otro valor de la columna "leve" que NO sea leve, hay un cero en esa celda. Con este método, resolvemos el problema de las relaciones no intencionadas y problemáticas que presentaba la codificación de etiquetas.
Pero la codificación one-hot presenta sus propios problemas, sobre todo cuando se trata de regresión logística y lineal. Aprenderá más sobre esto en un curso futuro.
Codificación por etiquetas o codificación one-hot: ¿Cómo decidir?
No hay una respuesta sencilla a la pregunta de si debe utilizar la codificación por etiquetas o la codificación one-hot. La decisión debe tomarse caso por caso, o conjunto de datos por conjunto de datos. Pero hay algunas directrices que pueden ayudarle.
Utilice la codificación de etiquetas cuando:
Hay un gran número de variables categóricas diferentes - porque la codificación de etiquetas utiliza muchos menos datos que la codificación one-hot
Los valores categóricos tienen un orden particular (por ejemplo, los grupos de edad pueden agruparse del más joven al más viejo o del más viejo al más joven)
Tiene previsto utilizar un árbol de decisiones o un modelo de aprendizaje automático de bosque aleatorio
Utilice la codificación one-hot cuando:
Hay una cantidad relativamente pequeña de variables categóricas - porque la codificación one-hot utiliza muchos más datos que la codificación de etiquetas.
Las variables categóricas no tienen un orden determinado
Se utiliza un modelo de Aprendizaje automático en combinación con la Reducción de dimensionalidad (como el Análisis de componentes principales (PCA))
Puntos clave
La codificación de etiquetas y la codificación one-hot son técnicas para transformar datos categóricos en datos numéricos. La codificación de etiquetas es la mejor para un gran número de variables categóricas diferentes y para categorías que tienen un orden inherente. La codificación one-hot es mejor para cantidades más pequeñas de variables categóricas y para categorías que no tienen orden.
No hay comentarios.:
Publicar un comentario