Конвейер Sklearn: есть ли утечка / смещение при включении масштабирования в конвейер?

#python #machine-learning #scikit-learn #pipeline #scaling

#python #машинное обучение #scikit-learn #конвейер #масштабирование

Вопрос:

В машинном обучении вы разделяете данные на обучающие данные и тестовые данные.

При перекрестной проверке вы разделяете обучающие данные на обучающие наборы и набор проверки.

«И если требуется масштабирование, на каждой итерации CV вычисляются средние значения и стандартные отклонения обучающих наборов (не всех обучающих данных), исключая набор проверки, и используются для масштабирования набора проверки, так что часть масштабирования никогда не включает информацию из набора проверки «.

Мой вопрос в том, когда я включаю масштабирование в конвейер, на каждой итерации CV вычисляется ли масштабирование из меньших обучающих наборов (исключая набор проверки) или из всех обучающих данных (включая набор проверки)? Потому что, если он вычисляет средние и стандартные значения из всех обучающих данных, это приведет к смещению оценки в наборе проверки.

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

1. Утечки нет, если ваше масштабирование является частью конвейера, который подходит для обучения и протестирован при проверке.

2. итак, средние значения и std вычисляются из обучающего набора, исключая набор проверки на каждой итерации, я прав?

3. Да, так и должно быть. Если у вас есть сомнения, вы всегда можете это проверить

Ответ №1:

Я тоже думал об этом, и хотя я думаю, что масштабирование с полными данными приводит к утечке некоторой информации из обучающих данных в данные проверки, я не думаю, что это так серьезно.

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

С другой стороны, даже если средства и ЗППП разные, эта разница не будет существенной.

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