StandardScaler, MinMaxScaler, MaxAbsScaler
Existem três abordagens populares para escalonar os dados:
MinMaxScaler
: escala as características para o intervalo [0, 1];MaxAbsScaler
: escala as características de modo que o valor absoluto máximo seja 1 (assim, os dados ficam garantidos no intervalo [-1, 1]);StandardScaler
: padroniza as características tornando a média igual a 0 e a variância igual a 1.
Para ilustrar como os scalers operam, considere as características 'culmen_depth_mm'
e 'body_mass_g'
do conjunto de dados penguins. Essas características podem ser plotadas para observar suas escalas.
MinMaxScaler
O MinMaxScaler
funciona subtraindo o valor mínimo (para que os valores comecem do zero) e depois dividindo por (x_max - x_min) para que o resultado seja menor ou igual a 1.
Aqui está o gif mostrando como o MinMaxScaler
funciona:
MaxAbsScaler
O MaxAbsScaler
funciona encontrando o valor absoluto máximo e dividindo cada valor por ele. Isso garante que o valor absoluto máximo seja 1.
StandardScaler
A ideia do StandardScaler
vem da estatística. Ele funciona subtraindo a média (para centralizar em torno de zero) e dividindo pelo desvio padrão (para que a variância seja igual a 1).
Se você não compreende o que são média, desvio padrão e variância, pode consultar nosso curso Estatística com Python. Entretanto, este conhecimento não é obrigatório para prosseguir.
Segue um exemplo de código com MinMaxScaler
. Outros scalers são aplicados da mesma forma.
12345678910import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)
A saída não é das mais bonitas, pois os scalers transformam os dados em um array numpy
, mas com pipelines isso não será um problema.
Apenas as colunas de características (a variável X
) devem ser escaladas. Não há necessidade de escalar a variável alvo, pois isso complicaria o processo de transformação inversa.
Qual Scaler Utilizar?
O StandardScaler
é mais sensível a outliers, tornando-o menos adequado como scaler padrão. Caso prefira uma alternativa ao StandardScaler
, a escolha entre MinMaxScaler
e MaxAbsScaler
depende da preferência pessoal, seja para escalar os dados para o intervalo [0,1] com o MinMaxScaler
ou para [-1,1] com o MaxAbsScaler
.
1. Qual é o principal objetivo de usar o MinMaxScaler
no pré-processamento de dados?
2. Por que você pode reconsiderar o uso do StandardScaler
para seu conjunto de dados?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.13
StandardScaler, MinMaxScaler, MaxAbsScaler
Deslize para mostrar o menu
Existem três abordagens populares para escalonar os dados:
MinMaxScaler
: escala as características para o intervalo [0, 1];MaxAbsScaler
: escala as características de modo que o valor absoluto máximo seja 1 (assim, os dados ficam garantidos no intervalo [-1, 1]);StandardScaler
: padroniza as características tornando a média igual a 0 e a variância igual a 1.
Para ilustrar como os scalers operam, considere as características 'culmen_depth_mm'
e 'body_mass_g'
do conjunto de dados penguins. Essas características podem ser plotadas para observar suas escalas.
MinMaxScaler
O MinMaxScaler
funciona subtraindo o valor mínimo (para que os valores comecem do zero) e depois dividindo por (x_max - x_min) para que o resultado seja menor ou igual a 1.
Aqui está o gif mostrando como o MinMaxScaler
funciona:
MaxAbsScaler
O MaxAbsScaler
funciona encontrando o valor absoluto máximo e dividindo cada valor por ele. Isso garante que o valor absoluto máximo seja 1.
StandardScaler
A ideia do StandardScaler
vem da estatística. Ele funciona subtraindo a média (para centralizar em torno de zero) e dividindo pelo desvio padrão (para que a variância seja igual a 1).
Se você não compreende o que são média, desvio padrão e variância, pode consultar nosso curso Estatística com Python. Entretanto, este conhecimento não é obrigatório para prosseguir.
Segue um exemplo de código com MinMaxScaler
. Outros scalers são aplicados da mesma forma.
12345678910import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)
A saída não é das mais bonitas, pois os scalers transformam os dados em um array numpy
, mas com pipelines isso não será um problema.
Apenas as colunas de características (a variável X
) devem ser escaladas. Não há necessidade de escalar a variável alvo, pois isso complicaria o processo de transformação inversa.
Qual Scaler Utilizar?
O StandardScaler
é mais sensível a outliers, tornando-o menos adequado como scaler padrão. Caso prefira uma alternativa ao StandardScaler
, a escolha entre MinMaxScaler
e MaxAbsScaler
depende da preferência pessoal, seja para escalar os dados para o intervalo [0,1] com o MinMaxScaler
ou para [-1,1] com o MaxAbsScaler
.
1. Qual é o principal objetivo de usar o MinMaxScaler
no pré-processamento de dados?
2. Por que você pode reconsiderar o uso do StandardScaler
para seu conjunto de dados?
Obrigado pelo seu feedback!