Mapa -> Exploración -> Univariables -> Categóricas
Se llama Codificar o continuizar a la transformacion de variables categóricas en variables binarias o numericas. Un ejemplo es el de tratar el sexo “hombre” o “mujer” como 1 o 0. Las variables categóricas deben estar codificadas en muchos de los métodos de modelado (ej. regresion lineal, SVM, redes neurales).
Hay dos tipos de codificacion, Binarios o Por Objetivos.
Codificación Binaria
Consiste en la numerizacion de variables categóricas tomando los valores 0 o 1 para indicar la ausencia o presencia de cada categoría. Si la variable categórica tiene k categorias (por ejemplo temperatura podria tener 3, baja, media, alta), entonces necesitamos tener k variables binarias (tecnicamente con k-1 alcanzaria). En el siguiente ejemplo a la variable categórica “Tendencia” con tres categorias, se la transforma en tres variables binarias numéricas. La mayor desventaja de este metodo es que cuando hay demasiadas categorías aumenta tremendamente la dimensionalidad de los datos (hay que agregar demasiadas columnas)
Categorica |
Codificada |
||
Tendencia |
Tend_Up | Tend_Down | Tend_Flat |
Up | 1 | 0 | 0 |
Up | 1 | 0 | 0 |
Down | 0 | 1 | 0 |
Flat | 0 | 0 | 1 |
Down | 0 | 1 | 0 |
Up | 1 | 0 | 0 |
Down | 0 | 1 | 0 |
Flat | 0 | 0 | 1 |
Flat | 0 | 0 | 1 |
Flat | 0 | 0 | 1 |
Codifiacion por Objetivos
Consiste en la numerizacion de variables categoricas utilizando un target. En este método reemplazamos la variable categorica con una sola nueva variable numérica y reemplazamos cada categoría de la variable con su probabilidad correspondiente segun el target (si es categórica) o segun el promedio del target (si es numérica). La mayor desventaja de este método es su dependencia con la distribucion del target, y su menor poder predictivo comparado con el método de codificacion binaria.
Ejemplo 1 – Un ejemplo de codificacion por objetivos de utilizando un target categórico
Tendencia | Target | Tend_Codificada |
Up | 1 | 0.66 |
Up | 1 | 0.66 |
Down | 0 | 0.33 |
Flat | 0 | 0.5 |
Down | 1 | 0.33 |
Up | 0 | 0.66 |
Down | 0 | 0.33 |
Flat | 0 | 0.5 |
Flat | 1 | 0.5 |
Flat | 1 | 0.5 |
Target |
|||
Tendencia | 0 | 1 | Probabilidad (1) |
Up | 1 | 2 | 0.66 |
Down | 2 | 1 | 0.33 |
Flat | 2 | 2 | 0.5 |
Ejemplo 2 – Un ejemplo de codificacion por objetivos utilizando un target numérico
Tendencia | Target | Tend_Codificada |
Up | 21 | 23.7 |
Up | 24 | 23.7 |
Down | 8 | 10.3 |
Flat | 15 | 14.5 |
Down | 11 | 10.3 |
Up | 26 | 23.7 |
Down | 12 | 10.3 |
Flat | 16 | 14.5 |
Flat | 14 | 14.5 |
Flat | 13 | 14.5 |
Tendencia | Target – Promedio |
Up | 23.7 |
Down | 10.3 |
Flat | 14.5 |
Ejercicio en Orange