Entendo o que o Standard Scalar faz e o que o Normalizer faz, de acordo com a documentação do scikit: Normalizer , Standard Scaler .
Eu sei quando o Scaler padrão é aplicado. Mas em que cenário o Normalizer é aplicado? Existem cenários em que um é preferido em relação ao outro?
python
scikit-learn
data-cleaning
normalization
Heisenbug
fonte
fonte
Respostas:
Eles são usados para dois propósitos diferentes.
StandardScaler
altera cada coluna de recursoNormalizer
muda cada amostral1
norma él2
norma émax
norma éPara ilustrar o contraste, considere o conjunto de dados{1,2,3,4,5} que é unidimensional (cada ponto de dados possui um recurso). { - 1,41 , - 0,71 , 0 , 0,71 , 1,41 } . { 1. , 1. , 1. , 1. , 1. } , já que o único recurso é dividido por ele mesmo. Portanto ( H e i gh t , um ge , i n c o m e ) .
Após a aplicação
StandardScaler
, o conjunto de dados se tornaDepois de aplicar qualquer tipo de
Normalizer
, o conjunto de dados se tornaNormalizer
, não tem utilidade para este caso. Também não é útil quando os recursos têm unidades diferentes, por exemploComo mencionado nesta resposta ,
Normalizer
é útil principalmente para controlar o tamanho de um vetor em um processo iterativo, por exemplo, um vetor de parâmetro durante o treinamento, para evitar instabilidades numéricas devido a valores elevados.fonte
StandardScaler
: Transforma os dados de maneira que tenha média como 0 e desvio padrão como 1. Em resumo, padroniza os dados . A padronização é útil para dados que possuem valores negativos. Ele organiza os dados em uma distribuição normal padrão . É mais útil na classificação do que na regressão . Você pode ler este meu blog .Normalizer
: Espreme os dados entre 0 e 1. Executa a normalização . Devido à diminuição da amplitude e magnitude, os gradientes no processo de treinamento não explodem e você não obtém maiores valores de perda. É mais útil na regressão do que na classificação . Você pode ler este meu blog .fonte