Cómo normalizar los datos de Tren y Prueba usando MinMaxScaler sklearn
Entonces, tengo esta duda y he estado buscando respuestas. Entonces la pregunta es cuando 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)
Después de lo cual entrenaré y probaré el modelo A
,B
como características,C
como etiqueta) y obtenga un puntaje de precisión. Ahora mi duda es, qué sucede cuando tengo que predecir la etiqueta para un nuevo conjunto de datos. Decir
df = pd.DataFrame({'A':[25,67,24,76,23],'B':[2,54,22,75,19]})
Porque cuando normalizo la columna los valores deA
yB
se cambiará de acuerdo con los nuevos datos, no con los datos sobre los que se capacitará el modelo. Entonces, ahora mis datos después del paso de preparación de datos que se muestran a continuación serán.
data[['A','B']] = min_max_scaler.fit_transform(data[['A','B']])
Valores deA
yB
cambiará con respecto a laMax
yMin
valor dedf[['A','B']]
. La preparación de datos dedf[['A','B']]
es con respecto aMin Max
dedf[['A','B']]
.
¿Cómo puede ser válida la preparación de datos con respecto a los diferentes números relacionados? No entiendo cómo la predicción será correcta aquí.