Должен ли я применять StandardScaler до или после train_test_split?Python

Программы на Python
Ответить
Anonymous
 Должен ли я применять StandardScaler до или после train_test_split?

Сообщение Anonymous »

Я обучаю небольшую регрессионную модель и столкнулся с противоречивыми предложениями по масштабированию. Некоторые примеры показывают:

Код: Выделить всё

X_scaled = StandardScaler().fit_transform(X)
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y)
Другие рекомендуют:

Код: Выделить всё

X_train, X_test, y_train, y_test = train_test_split(X, y)
scaler = StandardScaler().fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
Я понимаю, что вторая версия позволяет избежать «утечки данных», но я не до конца понимаю, почему предварительное масштабирование всего набора данных может повредить обобщению, если тестовый набор все равно невидим.

Может ли кто-нибудь объяснить это интуитивно?
>

Подробнее здесь: https://stackoverflow.com/questions/798 ... test-split
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»