Стандартизация X_train и Y_train

Я новичок в этой области и в настоящее время работаю над набором данных на основе рекламы в Facebook.

Целевая переменная - диапазон потраченных средств от 10 до 200, а функции - частота (диапазон от 0,1 до 3,0) и показы (от 1000 до 30000).

После обучения моей модели (линейная регрессия) моя оценка составила 0,84, но MSE была 490, я думаю, это значение связано с тем, что у функций есть строки с такими случаями: (Частота: 1,432 и количество показов: 25412)

Я применил стандартизацию после разделения данных на тренировочные и тестовые данные

Без стандартизации

** Чтобы решить эту проблему, я подумал о применении стандартизации, чтобы удалить высокую дисперсию значений, я применил fit_transform (X_train) и преобразование (X_test)

Но счет был таким же, и MSE тоже.

После стандартизации

Мои сомнения совершенно идиотские, но я работаю в этой области как новичок в ML.

1) Я заметил, что сообщество не применяет стандартизацию к целевой переменной (Y), почему они это делают?

2) Я здесь что-то не так делаю?

Спасибо вам, ребята!

1 ответ

Стандартизация обычно применяется к независимой переменной, так что среднее значение равно нулю, а стандартное значение равно единице. Т.е. данные конвертируются в стандартное нормальное распределение. Причина этого в том, что он нормализует масштаб формы независимой переменной от нуля до 1. Например, если переменная 1 находится в масштабе от 100 до 100, а переменная 2 находится в диапазоне от 0 до 1, и если построить их вместе по оси x-axis, вы увидите vaibale2 на графике как можно ближе к нулю, любое изменение любой переменной 2 не может повлиять на целевое значение.

Цель не должна быть стандартизирована, потому что модель "что, если" должна предсказывать. y=f(x), y - целевое значение.

Другие вопросы по тегам