DamiRocK

Data leakage: стандартизация до train/test split

Если mean и sd рассчитаны по всем данным до split, test-set влияет на train preprocessing. Правильно fit scaler только на train и transform test.

Сценарий

Перед разбиением на train/test исследователь вычислил среднее и стандартное отклонение признака по всей таблице, стандартизировал данные и только потом сделал split.

Почему это leakage

Параметры preprocessing зависят от test-наблюдений. Значит, информация о распределении будущей evaluation-set уже повлияла на значения train.

Правильная процедура

1. Сначала split.

2. На train вычислить μ_train,s_train.

3. Train преобразовать (x−μ_train)/s_train.

4. Test преобразовать теми же μ_train,s_train.

Cross-validation

В каждом fold scaler должен fit заново только на training-part этого fold. Pipeline автоматизирует эту границу.

Насколько leakage опасна

Даже preprocessing без y может давать оптимизм, особенно при сильном distribution shift, малой выборке или feature selection. Если обработка использует y, риск ещё выше.

Редакционная практика по validation/leakage mlearn_pro · CC BY 4.0.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.