Escalonamento de atributos: normalização e padronização
MinMaxScaler, StandardScaler, RobustScaler — quando usar cada um e por que isso é importante.
Escalonamento de atributos: normalização e padronização é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Por que dimensionar as características?
Muitos algoritmos são sensíveis à MAGNITUDE das características. Uma característica que varia de 0 a 1.000.000 dominará outra que varia de 0 a 1 em modelos baseados em distância ou gradiente. O dimensionamento coloca as características em intervalos comparáveis.
Quem precisa de dimensionamento
O dimensionamento é importante para KNN, SVM, k-médias, PCA e modelos de descida do gradiente, como regressão linear/logística e redes neurais. Modelos baseados em árvores (florestas aleatórias e impulsionamento por gradiente) são invariantes à escala e não precisam desse procedimento.
Normalização: MinMaxScaler
A normalização min-máx. redimensiona cada característica para um intervalo fixo, geralmente de 0 a 1, usando (x - min) / (max - min). Ela preserva o formato da distribuição.
from sklearn.preprocessing import MinMaxScaler
import numpy as np
X = np.array([[10.0], [20.0], [30.0], [40.0]])
scaler = MinMaxScaler()
print(scaler.fit_transform(X).ravel()) # [0. 0.333 0.667 1.]Padronização: StandardScaler
A padronização dá a cada característica média zero e variância unitária usando (x - mean) / std. O resultado é uma pontuação z; os valores são centralizados, mas não limitados.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
Xs = scaler.fit_transform(X)
print(Xs.ravel())
print(Xs.mean(), Xs.std()) # ~0 and ~1MinMax versus padrão
Use MinMax quando precisar de um intervalo limitado (por exemplo, pixels de imagens ou entradas de redes neurais). Use o método padrão quando o algoritmo pressupuser dados aproximadamente centralizados em zero (PCA, SVM e modelos lineares). MinMax é mais sensível a valores atípicos.
RobustScaler para valores atípicos
RobustScaler centraliza pela MEDIAN e dimensiona pelo IQR. Como ambos resistem a valores atípicos, essa é a escolha adequada quando valores extremos distorceriam os outros métodos de dimensionamento.
from sklearn.preprocessing import RobustScaler
Xo = np.array([[1.0], [2.0], [3.0], [4.0], [100.0]])
print(RobustScaler().fit_transform(Xo).ravel())fit versus transform
Os métodos de dimensionamento LEARN os parâmetros em fit (o mínimo/máximo ou mean/std) e os APPLY em transform. fit_transform executa ambas as operações em uma única chamada.
scaler = StandardScaler()
scaler.fit(X) # learns mean and std
Xs = scaler.transform(X) # applies themA regra de ouro: ajuste somente em TRAINING
Execute sempre fit no conjunto de TRAINING e, depois, apenas transform no conjunto de teste usando esses parâmetros aprendidos. Ajustar com dados de teste vaza informações deles para o modelo.
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test) # transform only!Por que não ajustar no teste
Se você dimensionar usando estatísticas que incluem o conjunto de teste, sua avaliação verá informações que não deveria ver; isso é vazamento de dados. O resultado são estimativas de desempenho otimistas e não confiáveis.
Transformação inversa
Os métodos de dimensionamento podem reverter a operação com inverse_transform, o que é útil para converter previsões dimensionadas de volta às unidades originais ao apresentar os resultados.
original = scaler.inverse_transform(X_train_scaled)
# recovers the pre-scaled valuesDimensionando o alvo
Em geral, no caso de classificação, você dimensiona FEATURES, não o alvo. Em regressão, também pode dimensionar o alvo, mas lembre-se de desfazer o dimensionamento das previsões antes de apresentar os erros.
Verificação rápida
Teste seus conhecimentos sobre dimensionamento.
Recapitulação
Kit de ferramentas de dimensionamento:
- O dimensionamento é importante para modelos baseados em distância ou gradiente; as árvores o ignoram
MinMaxScaler-> limitado a 0..1;StandardScaler-> média zero e variância unitáriaRobustScalerusa a mediana e o IQR e é robusto a valores atípicos- Execute sempre
fit_transformno treinamento etransformsomente no teste (para evitar vazamento)
Perguntas Frequentes
A aula “Escalonamento de atributos: normalização e padronização” é grátis?
Sim — o texto completo de “Escalonamento de atributos: normalização e padronização” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Escalonamento de atributos: normalização e padronização”?
MinMaxScaler, StandardScaler, RobustScaler — quando usar cada um e por que isso é importante. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Escalonamento de atributos: normalização e padronização”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Detecção e remoção de valores discrepantes
- Codificação de variáveis categóricas
- Escalonamento de atributos: normalização e padronização
- Construindo pipelines de pré-processamento