Transformações de treino e teste (I)
Até agora, você criou scalers com base em uma coluna e depois aplicou o scaler aos mesmos dados nos quais ele foi treinado. Ao criar modelos de Machine Learning, você geralmente constrói seus modelos em dados históricos (conjunto de treino) e aplica o modelo a dados novos e inéditos (conjunto de teste). Nesses casos, é preciso garantir que o mesmo escalonamento seja aplicado tanto aos dados de treino quanto aos de teste.
Para fazer isso na prática, você treina o scaler no conjunto de treino e mantém esse scaler treinado para aplicá-lo ao conjunto de teste. Você nunca deve treinar novamente um scaler no conjunto de teste.
Para este exercício e o próximo, dividimos o DataFrame so_numeric_df em conjuntos de treino (so_train_numeric) e teste (so_test_numeric).
Este exercício faz parte do curso
Feature Engineering for Machine Learning in Python
Instruções do exercício
- Instancie
StandardScaler()comoSS_scaler. - Ajuste o
StandardScalerna colunaAge. - Transforme a coluna
Ageno conjunto de teste (so_test_numeric).
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Import StandardScaler
from sklearn.preprocessing import StandardScaler
# Apply a standard scaler to the data
SS_scaler = ____
# Fit the standard scaler to the data
____
# Transform the test data using the fitted scaler
so_test_numeric['Age_ss'] = ____
print(so_test_numeric[['Age', 'Age_ss']].head())