@Jut_Rut

Мне использовать те же параметры нормализации, что были на обучающем или нормализовать данные с нуля?

Для нормализации использую это:
mean = data_for_l.mean(axis=0)
std = data_for_l.std(axis=0)

data_for_l -= mean
data_for_l /= std

Здесь я вычитаю среднее и делю на отклонение, прочитал об этом методе в книге. Не знаю, сохранять мне mean и std и использовать их для нормализации всегда или их лучше считать заново для данных, которые я хочу предсказать. Нейронная сеть простая полносвязная в 1 слой.
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
Хороший вопрос. Есть правило никогда не использовать метод fit на тестовом сете. Иными словами будьто нормализация, скалинг, стандартизация или другие трансформации, ты никогда не находишь никакие параметры в тестовом наборе - это грубая ошибка. А всегда используешь только тренировочный набор. По этому все свои mean, std и прочее ты берешь только из тренировочного набора.

В scikit-learn есть трансформаторы, к примеру StandardScaler так вот у него есть методы fit, transform и fit_transform. Так вот для тестового дата сета ты используешь только transform и никогда fit или fit_transform. Что означает применить трансформацию к тестовому сету с параметрами посчитанными на тренировочном сете.

С нейронными сетями абсолютно тоже самое без каких либо исключений.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы