martes, 3 de enero de 2017

Mejora de modelos: Transformación de atributos



Una vez vistos los distintos modelos de clasificación, clusterización o agrupamiento y las técnicas básicas de regresión se hace necesario abordar de forma breve un conjunto de técnicas necesarias que nos permitirán mejorar los resultados de nuestros modelos.

Transformación de atributos de vectores

El concepto es tan simple como útil. Se basa en transformar un atributo o conjunto de atributos en otros, linealmente dependientes de estos, que faciliten y mejoren la calidad de los resultados del modelo. A modo de ejemplo, una normalización de un valor en el rango de funcionamiento [0,500000] a un rango [-1,1].

Siempre que se realice una transformación de datos es muy importante asegurarse que se realiza dicha transformación de forma “idéntica” para todo conjunto de datos utilizados (training, test, aprendizaje y producción)

Estandarización: es una transformación simple utilizada para normalizar valores discordantes en distribuciones continuas. Para ello se utiliza la desviación estándar (standard deviation) como elemento normalizador.



Normalización: mientras que la estandarización unifica atributos de naturaleza continua, la normalización unifica sus rangos de trabajo. Es el caso presentado anteriormente.


Agregación: Es una práctica más común de lo que su nombre pueda indicar. Se basa en agregar, sobre distribuciones discretas, los valores menos frecuentes sobre un mismo conjunto o bucket, generando distribuciones más homogéneas. Este principio de agregación es la principal base de trasformación de variables continuas a discretas (discretización).

Imputación:  Técnica necesaria en el tratamiento de grandes conjuntos de datos utilizada para rellenar “huecos” o valores perdidos dentro de grandes conjuntos de datos. Normalmente se usa la media o la mediana para distribuciones continuas y la moda para distribuciones discretas.

Codificación binaria: El concepto es también sencillo y supone una gran mejorar en el uso de los recursos computacionales. Supongamos un atributo de naturaleza discreta con N valores distintos. La idea esas asignar esos valores a una palabra binaria de longitud N.
Así a modo de ejemplo, supongamos una distribución discreta de cuatro colores {verde, rojo, amarillo y azul}. La codificación binaria de esta distribución podría ser:
  • {verde:     1000}
  •  {rojo:       0100}
  • {amarillo: 0010}
  • {azul:       0001}


Discretización: Muchas veces es fácil trabajar con valores discretos que con valores continuos siempre y cuando la pérdida de calidad producida en el proceso sea asumible. La discretización es un proceso similar al de agregación, con la salvedad de que no se realiza solo para los valores menos frecuentes sino para toda la distribución.

El proceso es sencillo y se basa en dividir el rango de trabajo de la distribución en intervalos o subconjuntos más pequeños que serán, posteriormente tratados en su conjunto como clases discretas.
Para hacer esta división de intervalos hay dos enfoques predominantes.
  •          Intervalos de tamaño fijo
  •          Intervalos de frecuencia fija

Lo más importante cuando se realiza un proceso de discretización de un atributo de naturaleza continua es tener en cuenta el cumplimiento de los siguientes principios:
  •       El conjunto de valores o clases que se obtienen tras el proceso de discretización tiene que ser significativamente menor que el conjunto de valores distintos existentes en su naturaleza continua.
  •          Debe prevalecer y garantizarse la capacidad predictiva del atributo.