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

Почему и когда масштабируется?

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

Большинство алгоритмов машинного обучения используют евклидово расстояние, которое вычисляется между двумя точками данных в своих вычислениях. Для этих алгоритмов ml важны величины. Эффект большой величины, тем более, что он более доминирующий. Допустим, у нас есть набор данных и несколько столбцов. Население городов и средний возраст городов также являются столбцами для набора данных. Эти два столбца имеют разные единицы измерения, один - год, другой - количество. Численность населения всегда больше возраста. Таким образом, это означает, что популяция более важна для алгоритмов машинного обучения, которые используют евклидово расстояние. Но это неправда. У них разные единицы. Масштабирование функций помогает одинаково взвесить все функции. Чтобы подавить этот эффект, нам нужно привести все функции к одинаковому уровню. Этого можно добиться масштабированием. Чтобы избавиться от этого конфликта, мы используем масштабирование (нормализация). Алгоритмы кластеризация с K-средним и KNN ml используют евклидово расстояние, поэтому вам необходимо масштабировать свой объект, прежде чем применять его к модели.

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

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

Нормализация - Стандартизация

Стандартизация - один из самых популярных методов масштабирования. По сути, это одна из разновидностей нормализации. При масштабировании данных вы можете выбрать любой из методов масштабирования нормализации. В основном специалисты по данным предпочитают масштабирование стандартизации для алгоритмов ml и предпочитают масштабирование min-max для глубокого обучения, потому что при работе с данными изображения цвета могут варьироваться только от 0 до 255.

Есть четыре метода нормализации типа

1) Мин-макс масштабирование

При выполнении масштабирования min-max вы можете преобразовать x, чтобы получить преобразованный x ′, используя формулу:

Этот способ масштабирования приводит все значения от 0 до 1.

Как применить библиотеку sklearn для MinMaxScaler:

2) Стандартизация

При выполнении масштабирования стандартизации вы можете преобразовать x, чтобы получить преобразованный x ′, используя формулу:

x ’будет иметь среднее значение μ = 0 и σ = 1

Обратите внимание, что стандартизация не делает данные более нормальными, она просто изменяет среднее значение и стандартную ошибку!

Как применить библиотеку sklearn для StandardScaler:

3) Средняя нормализация

При выполнении нормализации среднего значения используется следующая формула:

Распределение будет иметь значения от -1 до 1 и среднее значение 0.

4) Преобразование единичного вектора

При выполнении преобразований единичного вектора вы используете следующую формулу:

Этот способ масштабирования приводит все значения от 0 до 1.