Conteúdo do Curso
ML Introduction with scikit-learn
1. Conceitos de Aprendizado de Máquina
2. Pré-processamento de Dados com Scikit-learn
ML Introduction with scikit-learn
StandardScaler, MinMaxScaler, MaxAbsScaler
Existem três abordagens populares para a normalização dos dados:
- MinMaxScaler - normaliza os atributos para um intervalo de [0, 1].
- MaxAbsScaler - normaliza os atributos de modo que o valor absoluto máximo seja 1 (garantindo que os dados estejam no intervalo de [-1, 1]).
- StandardScaler - padroniza os atributos fazendo com que a média seja igual a 0 e a variância seja igual a 1.
Para demonstrar como os escalonadores funcionam, utilizaremos os recursos 'culmen_depth_mm'
e 'body_mass_g'
do dataset dos Pinguins. Vamos plotá-los.
MinMaxScaler
O MinMaxScaler
funciona subtraindo o valor mínimo (para fazer os valores começarem de zero) e depois dividindo pelo intervalo (x_max - x_min) para tornar os valores menores ou iguais a 1.
Aqui está o vídeo 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.
Aqui está o vídeo mostrando como o MaxAbsScaler
funciona:
StandardScaler
A ideia do StandardScaler
vem da estatística. Ele funciona subtraindo a média (para centralizar em torno de zero) e dividindo pela desvio padrão (para tornar a variância igual a 1).
Nota
Se você não entende o que são a média, o desvio padrão e a variância, pode conferir nosso curso Aprendendo Estatística com Python.
No entanto, esse conhecimento não é obrigatório para prosseguir.
Aqui está um vídeo mostrando como o StandardScaler
funciona.
Vamos analisar um exemplo de código utilizando o MinMaxScaler
(outros escaladores são utilizados exatamente da mesma maneira).
A saída não é a mais bonita, já que os redimensionadores transformam os dados em um array NumPy, mas com pipelines, isso não será um problema.
Nota
Você deve redimensionar apenas as colunas de recursos (a variável
X
). Não há necessidade de redimensionar o alvo. Isso só tornaria mais difícil obter uma transformação inversa.
Qual escalonador usar?
Um StandardScaler
é menos sensível a outliers, portanto, é um bom escalonador padrão.
Se você não gostar do StandardScaler
, entre MinMaxScaler
e MaxAbsScaler
, a escolha depende das preferências pessoais, escalando dados para o intervalo [0,1] ou para [-1,1].
Tudo estava claro?
Conteúdo do Curso
ML Introduction with scikit-learn
1. Conceitos de Aprendizado de Máquina
2. Pré-processamento de Dados com Scikit-learn
ML Introduction with scikit-learn
StandardScaler, MinMaxScaler, MaxAbsScaler
Existem três abordagens populares para a normalização dos dados:
- MinMaxScaler - normaliza os atributos para um intervalo de [0, 1].
- MaxAbsScaler - normaliza os atributos de modo que o valor absoluto máximo seja 1 (garantindo que os dados estejam no intervalo de [-1, 1]).
- StandardScaler - padroniza os atributos fazendo com que a média seja igual a 0 e a variância seja igual a 1.
Para demonstrar como os escalonadores funcionam, utilizaremos os recursos 'culmen_depth_mm'
e 'body_mass_g'
do dataset dos Pinguins. Vamos plotá-los.
MinMaxScaler
O MinMaxScaler
funciona subtraindo o valor mínimo (para fazer os valores começarem de zero) e depois dividindo pelo intervalo (x_max - x_min) para tornar os valores menores ou iguais a 1.
Aqui está o vídeo 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.
Aqui está o vídeo mostrando como o MaxAbsScaler
funciona:
StandardScaler
A ideia do StandardScaler
vem da estatística. Ele funciona subtraindo a média (para centralizar em torno de zero) e dividindo pela desvio padrão (para tornar a variância igual a 1).
Nota
Se você não entende o que são a média, o desvio padrão e a variância, pode conferir nosso curso Aprendendo Estatística com Python.
No entanto, esse conhecimento não é obrigatório para prosseguir.
Aqui está um vídeo mostrando como o StandardScaler
funciona.
Vamos analisar um exemplo de código utilizando o MinMaxScaler
(outros escaladores são utilizados exatamente da mesma maneira).
A saída não é a mais bonita, já que os redimensionadores transformam os dados em um array NumPy, mas com pipelines, isso não será um problema.
Nota
Você deve redimensionar apenas as colunas de recursos (a variável
X
). Não há necessidade de redimensionar o alvo. Isso só tornaria mais difícil obter uma transformação inversa.
Qual escalonador usar?
Um StandardScaler
é menos sensível a outliers, portanto, é um bom escalonador padrão.
Se você não gostar do StandardScaler
, entre MinMaxScaler
e MaxAbsScaler
, a escolha depende das preferências pessoais, escalando dados para o intervalo [0,1] ou para [-1,1].
Tudo estava claro?