Codificar (encode)

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 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