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

В этой короткой статье я надеюсь помочь вам, ребята, пролить свет на эту тему.

Мы рассмотрим:

  • Что такое минимальная нормализация?
  • Что такое стандартизация?
  • Почему вы должны нормализовать свои данные?

Что такое мин-макс нормализация?

В этом методе мы просто изменим диапазон данных с [min, max] на [0,1] или, в некоторых случаях, когда у вас есть отрицательные значения, вы можете изменить диапазон на [-1,1].

Примечание. Минимальное и максимальное масштабирование неуменьшит влияние выбросов.

Для прикладного ML вам не нужно беспокоиться о формуле, так как для этого уже есть реализованные методы здесь, но если вам интересно, вот она:

Что такое стандартизация?

Распространенным заблуждением является то, что стандартизация меняет распределение данных, но не меняет.

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

Опять же, вы можете узнать, как использовать его с python здесь, и если вам интересно, ниже его формула:

Почему вы должны нормализовать свои данные?

Быстрый способ узнать, нужна ли вам нормализация, — это если ваши данные имеют очень разные диапазоны, например. при прогнозировании цен на жилье, и одной характеристикой является площадь дома в квадратных футах (диапазон от 2000 до 5000), а другой — размер бассейна в квадратных метрах (диапазон от 10 до 100).

В большинстве случаев алгоритмы машинного обучения работают лучше, когда данные имеют одинаковый масштаб (не всегда). Вот несколько алгоритмов, которые почти всегда повышают производительность после нормализации:

  • Линейная и логистическая регрессия
  • Нейронные сети
  • СПС
  • Линейный дискриминантный анализ

Вывод

Я хочу закончить этот краткий обзор несколькими другими типами нормализации и несколькими дополнительными советами:

  • Надежный масштабатор: похож на мин-макс масштабатор, хотя и не вписывается в определенный диапазон, его следует использовать, когда вы хотите уменьшить влияние выбросов.
  • При стандартизации около 68% значений попадут в диапазон от -1 до 1.
  • Алгоритмы глубокого обучения обычно выигрывают от нулевого среднего и единичной дисперсии.

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