Краткое введение в концепцию масштабирования функций

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

Что такое масштабирование функций и зачем оно нам нужно?

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

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

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

Решение состоит в том, чтобы уменьшить все значения пропорционально диапазону, чаще всего в пределах 0 и 1 или -1 и 1, другими словами, стандартизировав каждый из наборов признаков, чтобы они стали сопоставимыми по величине без потери своей характеристики распределения. Все значения уменьшаются пропорционально, чтобы соответствовать этому новому диапазону, так сказать, выравнивая игровое поле.

При выборе масштабатора в библиотеке предварительной обработки scikit-learn доступно несколько вариантов, наиболее распространенными из которых являются StandardScaler, MinMax Scaler и RobustScaler. Каждый из них выполняет одну и ту же задачу по обеспечению сопоставимости данных разного размера за счет сокращения подмножеств по диапазону, но не по распределению, но немного различается в своем подходе к решению этой задачи.

Типы средств масштабирования объектов

StandardScaler — этот Scaler нормализует значения, заменяя их их z-показателями; другими словами, он стандартизирует характеристику, удаляя среднее значение и деля каждое значение на стандартное отклонение. Он обычно используется, когда необходимо преобразовать объекты, чтобы полученные данные были очень похожи на нормальное распределение. Выходной диапазон находится между -1 и 1.

MinMaxScaler — MinMaxScaler обеспечивает масштабирование путем вычитания минимального значения в столбце и последующего деления на разницу между исходным максимальным и исходным минимальным значением (отсюда «MinMax»).
Это наименее разрушительное действие. метод преобразования исходных данных. Результирующий диапазон для MinMaxScaler по умолчанию составляет от 0 до 1.

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

Наконец, когда нам нужно масштабироваться?

Каждый раз, когда модель полагается на алгоритмы, основанные на расстоянии, различные размеры единиц переменных признаков ослабят ее эффективность. Примерами таких моделей являются линейная регрессия, мультилинейная регрессия, логистическая регрессия/классификация и модели KNN. Важным исключением из этого требования масштабирования является группировка моделей деревьев решений, таких как CART, Bagging, Boosting и Random Forests.