Mereka digunakan untuk dua tujuan berbeda.
StandardScaler
mengubah setiap kolom fitur menjadif:,if′:,i=f:,i−mean(f:,i)std(f:,i).
Normalizer
mengubah setiap sampel menjadi mana untukxn=(fn,1,...,fn,d)x′n=xnsize(xn),
size(xn)
l1
norma adalah,∥xn∥1=|fn,1|+...+|fn,d|
l2
norma adalah ,∥xn∥2=f2n,1+...+f2n,d−−−−−−−−−−−√
max
norma adalah .∥xn∥∞=max{|fn,1|,...,|fn,d|}
Untuk menggambarkan kontras, pertimbangkan kumpulan data yang satu dimensi (setiap titik data memiliki satu fitur),
Setelah menerapkan , kumpulan data menjadi .
Setelah menerapkan jenis apa pun , kumpulan data menjadi , karena satu-satunya fitur dibagi dengan sendirinya. Jadi tidak ada gunanya untuk kasus ini. Ini juga tidak digunakan ketika fitur memiliki unit yang berbeda, misalnya .{1,2,3,4,5}
StandardScaler
{−1.41,−0.71,0.,0.71,1.41}
Normalizer
{1.,1.,1.,1.,1.}Normalizer
(height,age,income)
Seperti yang disebutkan dalam jawaban ini , Normalizer
sebagian besar berguna untuk mengendalikan ukuran vektor dalam proses berulang, misalnya vektor parameter selama pelatihan, untuk menghindari ketidakstabilan numerik karena nilai yang besar.