Я испортил все мое домашнее задание по науке о данных, стандартизировав свои данные? - PullRequest
0 голосов
/ 23 апреля 2019

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

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

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

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

1 Ответ

1 голос
/ 24 апреля 2019

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

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

Правильный протокол выглядит следующим образом:

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...