Одной из наиболее распространенных задач при подготовке данных является нормализация признаков. Несмотря на то, что это не сложная тема, я изо всех сил пытался понять, когда ее использовать и какой тип нормализации использовать.
В этой короткой статье я надеюсь помочь вам, ребята, пролить свет на эту тему.
Мы рассмотрим:
- Что такое минимальная нормализация?
- Что такое стандартизация?
- Почему вы должны нормализовать свои данные?
Что такое мин-макс нормализация?
В этом методе мы просто изменим диапазон данных с [min, max] на [0,1] или, в некоторых случаях, когда у вас есть отрицательные значения, вы можете изменить диапазон на [-1,1].
Примечание. Минимальное и максимальное масштабирование неуменьшит влияние выбросов.
Для прикладного ML вам не нужно беспокоиться о формуле, так как для этого уже есть реализованные методы здесь, но если вам интересно, вот она:
Что такое стандартизация?
Распространенным заблуждением является то, что стандартизация меняет распределение данных, но не меняет.
Стандартизация просто изменяет среднее значение ваших данных на 0, а стандартное отклонение на 1 (дисперсия также равна 1). В большинстве случаев это делается по функциям (рассчитывается для каждой функции).
Опять же, вы можете узнать, как использовать его с python здесь, и если вам интересно, ниже его формула:
Почему вы должны нормализовать свои данные?
Быстрый способ узнать, нужна ли вам нормализация, — это если ваши данные имеют очень разные диапазоны, например. при прогнозировании цен на жилье, и одной характеристикой является площадь дома в квадратных футах (диапазон от 2000 до 5000), а другой — размер бассейна в квадратных метрах (диапазон от 10 до 100).
В большинстве случаев алгоритмы машинного обучения работают лучше, когда данные имеют одинаковый масштаб (не всегда). Вот несколько алгоритмов, которые почти всегда повышают производительность после нормализации:
- Линейная и логистическая регрессия
- Нейронные сети
- СПС
- Линейный дискриминантный анализ
Вывод
Я хочу закончить этот краткий обзор несколькими другими типами нормализации и несколькими дополнительными советами:
- Надежный масштабатор: похож на мин-макс масштабатор, хотя и не вписывается в определенный диапазон, его следует использовать, когда вы хотите уменьшить влияние выбросов.
- При стандартизации около 68% значений попадут в диапазон от -1 до 1.
- Алгоритмы глубокого обучения обычно выигрывают от нулевого среднего и единичной дисперсии.
Я также хотел бы добавить, что экспериментирование — это, на мой взгляд, лучшее решение, когда вы не знаете, нужно ли нормализовать и как.