Se usan para dos propósitos diferentes.
StandardScaler
cambia cada columna de función aF: , yoF′: , yo=F: , yo- m e a n (F: , yo)s t d(F: , yo).
Normalizer
cambia cada muestra a donde paraXnorte= (Fn , 1, . . . ,Fn , d)X′norte=Xnortes i ze (Xnorte),
s i ze (Xnorte)
l1
la norma es,∥Xnorte∥1= |Fn , 1El | +. . . + |Fn , dEl |
l2
la norma es ,∥Xnorte∥2=F2n , 1+ . . . +F2n , d-----------√
max
la norma es .∥Xnorte∥∞= m a x { |Fn , 1El | ,. . . , |Fn , dEl | }
Para ilustrar el contraste, considere el conjunto de datos que es unidimensional (cada punto de datos tiene una característica).
Después de aplicar , el conjunto de datos se convierte en .
Después de aplicar cualquier tipo de , el conjunto de datos se convierte en , ya que la única característica se divide por sí misma. Entonces no tiene uso para este caso. Tampoco tiene uso cuando las características tienen unidades diferentes, por ejemplo .{ 1 , 2 , 3 , 4 , 5 }
StandardScaler
{ - 1.41 , - 0.71 , 0. , 0.71 , 1.41 }
Normalizer
{ 1. , 1. , 1. , 1. , 1. }Normalizer
( h e i gh t , a ge , i n c o m e )
Como se menciona en esta respuesta , Normalizer
es principalmente útil para controlar el tamaño de un vector en un proceso iterativo, por ejemplo, un vector de parámetros durante el entrenamiento, para evitar inestabilidades numéricas debido a valores grandes.