El objetivo de la normalización es transformar los atributos para que estén en una escala similar. Esto mejora el rendimiento y la estabilidad del entrenamiento del modelo.
Técnicas de normalización de un vistazo
Cuatro técnicas comunes de normalización pueden ser útiles:
- escalamiento a un rango
- recorte
- escalamiento logarítmico
- puntuación z
En los siguientes gráficos, se muestra el efecto de cada técnica de normalización en la distribución de la característica sin procesar (precio) a la izquierda. Los gráficos se basan en el conjunto de datos del Yearbook de Automotive de Ward de 1985 que forma parte del UCI Machine Learning Repository en Automobile Data Set.
Figura 1 Resumen de las técnicas de normalización.
Escalamiento a un rango
Recuerda de MLCC que el escalamiento significa convertir los valores de atributos de punto flotante de su rango natural (por ejemplo, de 100 a 900) en un rango estándar, por lo general, de 0 a 1 (o a veces de -1 a +1). Usa la siguiente fórmula simple para escalar a un rango:
\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]
El escalamiento a un rango es una buena opción cuando se cumplen las siguientes condiciones:
- Conoces los límites inferior y superior aproximados en tus datos con pocos valores atípicos o sin valores atípicos.
- Tus datos se distribuyen de manera aproximadamente uniforme en ese rango.
Un buen ejemplo es la edad. La mayoría de los valores de edad se encuentran entre 0 y 90, y cada parte del rango tiene una cantidad considerable de personas.
Por el contrario, no deberías usar el escalamiento de los ingresos, ya que solo unas pocas personas tienen ingresos muy altos. El límite superior de la escala lineal para los ingresos sería muy alto, y la mayoría de las personas estarían incluidas en una pequeña parte de la escala.
Recorte de función
Si tu conjunto de datos contiene valores atípicos extremos, puedes probar el recorte de atributos, que limita todos los valores de atributos anteriores (o inferiores) a un valor determinado. Por ejemplo, puedes recortar todos los valores de temperatura por encima de 40 para que sean exactamente 40.
Puedes aplicar el recorte de atributos antes o después de otras normalizaciones.
Fórmula: Establezca valores mínimos y máximos para evitar valores atípicos
Figura 2: Comparar una distribución sin procesar y su versión recortada
Otra estrategia de recorte simple consiste en recortar la puntuación z de modo que sea ++-NSIG (por ejemplo, límite a +3-3){}. Ten en cuenta que δ es la desviación estándar.
Escalamiento de registros
El escalamiento de registros calcula el registro de tus valores para comprimir un rango amplio en un rango limitado.
\[ x' = log(x) \]
El escalamiento logarítmico es útil cuando varios de tus valores tienen muchos puntos, mientras que la mayoría de los demás valores tienen pocos puntos. Esta distribución de datos se conoce como distribución de ley de energía. Las calificaciones de películas son un buen ejemplo. En el siguiente gráfico, la mayoría de las películas tienen muy pocas calificaciones (los datos en la cola), mientras que unas pocas tienen muchas calificaciones (los datos en la cabeza). El escalamiento logarítmico cambia la distribución, lo que ayuda a mejorar el rendimiento del modelo lineal.
Figura 3: Comparar una distribución sin procesar con su registro
Puntuación Z
La puntuación Z es una variación del escalamiento que representa la cantidad de desviaciones estándar de la media. Usa la puntuación z para garantizar que las distribuciones de atributos tengan una media = 0 y un valor std = 1. Es útil cuando hay algunos valores atípicos, pero no tan extremo que necesitas recortar.
La fórmula para calcular la puntuación z de un punto, x, es la siguiente:
\[ x' = (x - μ) / σ \]
Figura 4: Comparar una distribución sin procesar con su distribución con puntuación z.
Ten en cuenta que la puntuación z exprime los valores sin procesar que tienen un rango de ~40,000 a un rango de aproximadamente -1 a +4.
Supongamos que no está seguro de si los valores atípicos realmente son extremos. En este caso, comienza con la puntuación z, a menos que tengas valores de atributos que no quieras que el modelo aprenda. Por ejemplo, los valores son el resultado de un error de medición o una peculiaridad.
Resumen
Técnica de normalización | Formula | Cuándo utilizarlas |
---|---|---|
Escalamiento lineal | $$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ | Cuando el atributo se distribuye de manera más o menos uniforme en un rango fijo. |
Recorte | si x > máx., entonces x' = máx. si x < min, entonces x' = min | Cuando el atributo contiene valores atípicos extremos. |
Escalamiento de registros | x' = registro(x) | Cuando la función cumple con la ley de energía. |
Puntuación Z | x' = (x - μ) / δ | Cuando la distribución de atributos no contiene valores atípicos extremos. |