Я испортил все свое домашнее задание по науке о данных, стандартизируя свои данные?

#r #machine-learning #regression #supervised-learning

#r #машинное обучение #регрессия #контролируемое обучение

Вопрос:

Профессор хотел, чтобы мы выполнили 10-кратную перекрестную проверку набора данных, чтобы получить наименьший RMSE, и использовали коэффициенты этого для создания функции, которая принимает параметры, прогнозирует и возвращает показатель «Коэффициент пригодности», который находится в диапазоне 25-75.

Он посоветовал нам попробовать преобразовать данные, что я и сделал. Я использовал scale() для всего набора данных, чтобы стандартизировать его, а затем выполнил регрессию и 10-кратную перекрестную проверку. Затем я нашел нужную модель и скопировал коэффициенты. Проблема в том, что мои прогнозы функций далеки от истины, когда я ввожу в него нестандартизированные параметры для прогнозирования y.

Я полностью испортил это, стандартизируя данные до среднего значения 0 и sd, равного 1? Могу ли я как-нибудь исправить этот беспорядок, если я все-таки облажался?

Мои коэффициенты — это чрезвычайно маленькие числа, и я чувствую, что сделал что-то не так здесь.

Комментарии:

1. Может быть, лучше на stats.stackexchange.com

2. Очевидно, что вам нужно преобразовать ваши коэффициенты обратно, прежде чем применять их к нетрансформированным данным (или вам нужно преобразовать ваши данные, применить коэффициенты и преобразовать их обратно)

3. Вы преобразовали набор тестов на основе коэффициентов преобразования, вычисленных в наборе поездов?

Ответ №1:

Создайте правильный конвейер, а не просто взлом с некоторыми функциями R.

Проблема в том, что вы рассматриваете масштабирование как часть загрузки данных, а не как часть процесса прогнозирования.

Надлежащий протокол заключается в следующем:

  1. «Изучите» параметры преобразования
  2. Преобразуйте учебные данные
  3. Обучите модель
  4. Преобразуйте новые данные
  5. Предсказать значение
  6. Обратное преобразование прогнозируемого значения

Во время перекрестной проверки их необходимо выполнять отдельно для каждого сгиба, иначе вы можете переоценивать (переобучать) свое качество.

Стандартизация — это линейное преобразование, поэтому найти обратное тривиально.