не так ли?
у меня есть это сомнение и я искал ответы. Так что вопрос в том, когда я использую,
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)
После чего буду тренировать и тестировать модель (A
,B
как функции,C
как ярлык) и получить некоторую оценку точности. Теперь я сомневаюсь, что произойдет, когда мне придется предсказать метку для нового набора данных. Сказать,
df = pd.DataFrame({'A':[25,67,24,76,23],'B':[2,54,22,75,19]})
Потому что, когда я нормализую столбец значенияA
а такжеB
будет изменено в соответствии с новыми данными, а не данными, на которых будет обучаться модель. Итак, теперь мои данные после этапа подготовки данных, как показано ниже, будут.
data[['A','B']] = min_max_scaler.fit_transform(data[['A','B']])
ЗначенияA
а такжеB
изменится по отношению кMax
а такжеMin
значениеdf[['A','B']]
, Подготовка данных оdf[['A','B']]
в отношенииMin Max
изdf[['A','B']]
.
Как подготовка данных может быть действительной в отношении разных чисел? Я не понимаю, как прогноз будет верным здесь.