Como normalizar os dados de treinamento e teste usando o MinMaxScaler sklearn
Então, eu tenho essa dúvida e tenho procurado respostas. Então a questão é quando eu uso,
from sklearn import preprocessing
min_max_scaler = preprocessing.MinMaxScaler()
df = pd.DataFrame({'A':[1,2,3,7,9,15,16,1,5,6,2,4,8,9],'B':[15,12,10,11,8,14,17,20,4,12,4,5,17,19],'C':['Y','Y','Y','Y','N','N','N','Y','N','Y','N','N','Y','Y']})
df[['A','B']] = min_max_scaler.fit_transform(df[['A','B']])
df['C'] = df['C'].apply(lambda x: 0 if x.strip()=='N' else 1)
Depois disso, treinarei e testarei o modelo (A
,B
como recursos,C
como Label) e obtenha uma pontuação de precisão. Agora, minha dúvida é: o que acontece quando preciso prever o rótulo para um novo conjunto de dados. Dizer,
df = pd.DataFrame({'A':[25,67,24,76,23],'B':[2,54,22,75,19]})
Porque quando eu normalizo a coluna, os valores deA
eB
será alterado de acordo com os novos dados, não os dados nos quais o modelo será treinado. Portanto, agora meus dados após a etapa de preparação de dados, conforme abaixo, serão.
data[['A','B']] = min_max_scaler.fit_transform(data[['A','B']])
Valores deA
eB
vai mudar em relação aoMax
eMin
valor dedf[['A','B']]
. A preparação de dados dedf[['A','B']]
é com relação aMin Max
dodf[['A','B']]
.
Como a preparação dos dados pode ser válida em relação a diferentes números? Não entendo como a previsão será correta aqui.