un1t
@un1t

Зачем нужна нормализация количественных признаков?

Прохожу туториал вот тут mlbootcamp.ru/article/tutorial
Вначале идет подготовка данных к виду, когда их можно скормить алгоритму. Все было понятно вот до этого момента:

Нормализация количественных признаков

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

В этом случае количественные признаки полезно нормализовать. Это можно делать разными способами. Например, каждый количественный признак приведем к нулевому среднему и единичному среднеквадратичному отклонению:

data_numerical = data[numerical_columns]
data_numerical = (data_numerical - data_numerical.mean()) / data_numerical.std()
data_numerical.describe()


Хотелось бы понять в чем физический смысл этой нормализации.
Можете популярно объяснить или какие-то ссылки подкинуть?
  • Вопрос задан
  • 18166 просмотров
Решения вопроса 1
@borodaturan
Python developer
Смысл очень простой. Попытаюсь объяснить на примере.
Метрические алгоритмы делают свои выводы на основе оценки расстояния между точками или между точкой и прямой. Пусть у нас есть две переменные, одна изменяется от 0 до 100, вторая - от 0 до 1.
Возьмем две точки - (0, 0) и (100, 1). Расстояние между ними по евклидовой метрике:
((100 - 0)**2 + (1 - 0)**2) ** 0.5.
Видно, что оценка расстояния формируется в основном лишь за счет 1 переменной. Отсюда следует, что значения 2 переменной будут слабо влиять на конечный результат работы алгоритма. И это будет связанно только с тем, что данные не нормализованы. А не с тем, что вторая переменная не влияет на результат по сути задачи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы