Обязательно ли масштабирование функций? когда использовать стандартизацию? когда использовать нормализацию? что будет с распределением данных? каково влияние на выбросы? Повысится ли точность модели?
Table of Contents: · What is Standardization? ∘ Effect on the distribution of data: ∘ Effect of Standardization on different Machine Learning algorithms: ∘ Effect on Outliers: · What is Normalization? ∘ Effect on Distribution of the data: ∘ Effect of Normalization on different Machine Learning algorithms: ∘ Effect on outliers: · Observations:
Приведенные выше вопросы также часто задают в интервью. Я постараюсь ответить на них в этом блоге, приведя подходящие примеры. Мы будем использовать StandardScaler и MinMaxScaler sklearn.
Давайте рассмотрим набор данных, в котором Возраст и Расчетная зарплата являются входными характеристиками, и мы должны предсказать, будет ли продукт Куплен(выходная метка) или не приобретено.
Взгляните на первые 5 строк наших данных.
Что такое стандартизация?
Стандартизацияили нормализация Z-показателя — это один из методов масштабирования признаков, здесь преобразование признаков осуществляется путем вычитания из среднего значения и деления на стандартное отклонение. Это часто называют нормализацией Z-оценки. Полученные данные будут иметь среднее значение, равное 0, и стандартное отклонение, равное 1.
Итак, теперь мы увидели формулу стандартного масштабирования. Теперь посмотрим, как ее можно применить к нашему набору данных.
Во-первых, мы разделим наши данные на обучающие и тестовые наборы и применим стандартный масштабатор.
Описание набора данных:
Обратите внимание, что описанный метод, примененный к данным X_train_scaled, показывает, что среднее значение равно 0, а стандартное отклонение равно 1 после применения стандартного масштабатора.
Влияние на распространение данных:
Из приведенных выше точечных диаграмм и диаграмм KDE можно отметить, что распределение данных остается прежним даже после применения стандартного Scaler, меняется только масштаб.
Влияние стандартизации на различные алгоритмы машинного обучения:
В приведенных выше примерах точность логистической регрессии и KNN значительно увеличилась после масштабирования. Но на точность не повлияло использование дерева решений или случайного леса.
Влияние на выбросы:
Приведенные выше графики показывают, что выбросы в наших данных останутся выбросами даже после применения стандартного масштабирования. Итак, как специалисты по данным, мы обязаны обрабатывать выбросы.
Что такое нормализация?
MinMaxScaling (обычно используемый метод нормализации) — это один из методов масштабирования признаков, он преобразует признаки путем вычитания из минимального значения данных и деления на (максимум минус минимум).
Итак, теперь мы увидели формулу минимального и максимального масштабирования. Теперь мы посмотрим, как ее можно применить к нашему набору данных.
Описание набора данных:
Обратите внимание, что минимальное значение входных параметров Возраст и Расчетная зарплата стало 0, а максимальное значение стало 1. strong> после применения масштабирования MinMax.
Влияние на распространение данных:
Из приведенных выше диаграмм рассеяния и диаграмм KDE мы можем заметить, что распределение данных остается прежним даже после применения мин-макс масштабатора, меняется только масштаб.
Влияние нормализации на различные алгоритмы машинного обучения:
В приведенных выше примерах точность логистической регрессии и KNN значительно увеличилась после масштабирования. Но на точность не повлияло использование дерева решений или случайного леса.
Влияние на выбросы:
Как показано выше, выбросы не будут иметь никакого влияния даже после применения масштабирования минимум-максимум.
Наблюдения:
- Результирующие данные после стандартизации будут иметь среднее значение 0 и стандартное отклонение 1, тогда как результирующие данные после мин.-макс. масштабирование будет иметь минимальное значение 0 и максимальное значение 1 (здесь среднее значение и стандартное отклонение могут быть любыми).
- Диаграммы рассеяния и диаграммы KDE выше показывают, что в распределении данных не будет изменений до и после применения стандартного масштабатора или мин-макс масштабатора, изменяется только масштаб.
- Шаг масштабирования признаков должен выполняться при применении алгоритмов, в которых вычисляется расстояние (например, KNN, KMEANS) и используется градиентный спуск (например, линейная и логистическая регрессии, нейронные сети). ).
- Не будет никакого эффекта масштабирования, когда мы используем древовидные алгоритмы, такие как деревья решений или случайные леса.
- В приведенных выше примерах точность логистической регрессии и KNN значительно возросла после масштабирования. Но при использовании дерева решений или случайного леса на точность не оказывалось никакого влияния.
- Выбросы в наборе данных все равно останутся выбросами даже после применения методов масштабирования признаков, поскольку мы, специалисты по данным, обязаны обрабатывать выбросы.
- Нет жесткого правила, чтобы определить, какую технику использовать, но нам нужно проверить как стандартизацию, так и нормализацию, и на основе результата решить, какую из них использовать.
Пожалуйста, перейдите по указанным ссылкам, чтобы получить полный код. Нормализация Стандартизация
Свяжитесь со мной в LinkedIn.