Зачем нормировать данные
Перейти к содержимому

Зачем нормировать данные

  • автор:

Как нормализовать данные и зачем это нужно

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

Что такое нормализация данных

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

Пример ненормализованных данных:

| Страна | Площадь, км² | Население, млн человек |
|———|—————|————————|
| Россия | 17,100,000 | 146 |
| США | 9,800,000 | 328 |
| Китай | 9,600,000 | 1400 |

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

Методы нормализации данных

Существует несколько популярных методов нормализации данных, включая:

  1. Минимально-максимальная нормализация (min-max scaling)
  2. Z-преобразование (z-score normalization)
  3. Нормализация на основе среднего значения (mean normalization)

Минимально-максимальная нормализация

Минимально-максимальная нормализация – это простой метод, который преобразует данные таким образом, что все значения находятся в диапазоне от 0 до 1. Формула минимально-максимальной нормализации выглядит следующим образом:

x’ = (x — min(x)) / (max(x) — min(x))

где x – исходное значение, x’ – нормализованное значение, min(x) и max(x) – минимальное и максимальное значения в наборе данных соответственно.

Аналитик данных: новая работа через 5 месяцев
Получится, даже если у вас нет опыта в IT

Z-преобразование

Z-преобразование – это метод, который нормализует данные на основе среднего значения (μ) и стандартного отклонения (σ) набора данных. Формула z-преобразования выглядит следующим образом:

где x – исходное значение, x’ – нормализованное значение, μ – среднее значение набора данных, σ – стандартное отклонение набора данных.

Нормализация на основе среднего значения

Нормализация на основе среднего значения – это метод, который преобразует данные таким образом, что среднее значение набора данных становится равным 0. Формула нормализации на основе среднего значения выглядит следующим образом:

x’ = (x — mean(x)) / (max(x) — min(x))

где x – исходное значение, x’ – нормализованное значение, mean(x) – среднее значение набора данных, min(x) и max(x) – минимальное и максимальное значения в наборе данных соответственно.

Зачем нужна нормализация данных

Нормализация данных имеет ряд преимуществ:

  1. Упрощение сравнения данных: когда все данные представлены в едином масштабе, их легче сравнивать и анализировать.
  2. Ускорение обучения алгоритмов машинного обучения: многие алгоритмы обучаются быстрее, когда данные нормализованы.
  3. Повышение точности алгоритмов машинного обучения: нормализация данных может помочь алгоритмам сосредоточиться на важных аспектах данных, улучшая их точность и производительность.

Заключение

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

Data Preparation: полет нормальный — что такое нормализация данных и зачем она нужна

Нормализация данных — это одна из операций преобразования признаков (Feature Transformation), которая выполняется при их генерации (Feature Engineering) на этапе подготовки данных (Data Preparation). В этой статье мы расскажем, почему необходимо нормализовать значения переменных перед тем, как запустить моделирование для интеллектуального анализа данных (Data Mining).

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

В случае машинного обучения (Machine Learning), нормализация — это процедура предобработки входной информации (обучающих, тестовых и валидационных выборок, а также реальных данных), при которой значения признаков во входном векторе приводятся к некоторому заданному диапазону, например, [0…1] или [-1…1] [1].

Следует отличать понятия нормализации, нормировки и нормирования.

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

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

Нормирование — это процесс установления предельно допустимых или оптимальных нормативных значений в прикладных сферах деятельности, например, нормирование труда. Как правило, нормы разрабатываются по результатам исследовательских, проектных или научных работ, а также на основе экспертных оценок [3].

Нормализация, нормировка и нормирование — это разные понятия

Зачем нормализовать датасет для Data Mining и Machine Learning

Необходимость нормализации выборок данных обусловлена природой используемых алгоритмов и моделей Machine Learning. Исходные значения признаков могут изменяться в очень большом диапазоне и отличаться друг от друга на несколько порядков. Предположим, датасет содержит сведения о концентрации действующего вещества, измеряемой в десятых или сотых долях процентов, и показатели давления в сотнях тысяч атмосфер. Или, например, в одном входном векторе присутствует информация о возрасте и доходе клиента.

Будучи разными по физическому смыслу, данные сильно различаются между собой по абсолютным величинам [4]. Работа аналитических моделей машинного обучения (нейронных сетей, карт Кохонена и т.д.) с такими показателями окажется некорректной: дисбаланс между значениями признаков может вызвать неустойчивость работы модели, ухудшить результаты обучения и замедлить процесс моделирования. В частности, параметрические методы машинного обучения (нейронные сети, растущие деревья) обычно требуют симметричного и унимодального распределения данных. Популярный метод ближайших соседей, часто используемый в задачах классификации и иногда в регрессионном анализе, также чувствителен к диапазону изменений входных переменных [5].

После нормализации все числовые значения входных признаков будут приведены к одинаковой области их изменения — некоторому узкому диапазону. Это позволит свести их вместе в одной модели Machine Learning [4] и обеспечит корректную работу вычислительных алгоритмов [1].

Нормализованные данные в диапазоне [0..1]

Практическим приемам Feature Transformation посвящена наша следующая статья, где мы рассказываем, как именно выполняется нормализация данных: формулы, методы и средства. Все эти и другие вопросы Data Preparation рассматриваются в нашем новом курсе обучения для аналитиков Big Data: подготовка данных для Data Mining. Оставайтесь с нами!

Источники

Нормально делай – нормально будет: нормализация на практике — методы и средства Data Preparation

нормально делай - нормально будет

Мы уже рассказали, что такое нормализация данных и зачем она нужна при подготовке выборки (Data Preparation) к машинному обучению (Machine Learning) и интеллектуальному анализу данных (Data Mining). Сегодня поговорим о том, как выполняется нормализация данных: читайте в нашем материале о методах и средствах преобразования признаков (Feature Transmormation) на этапе их генерации (Feature Engineering).

Нормализация данных: методы и формулы

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

линейная нелинейная нормализация, Data Preparation, Feature Transformaton

На практике наиболее распространены следующие методы нормализации признаков [1]:

минимакс, Z-масштабирование, методы, нормализация

  • Минимакс — линейное преобразование данных в диапазоне [0..1], где минимальное и максимальное масштабируемые значения соответствуют 0 и 1 соответственно;
  • Z-масштабирование данных на основе среднего значения и стандартного отклонения: деление разницы между переменной и средним значением на стандартное отклонение;
  • десятичное масштабирование путем удаления десятичного разделителя значения переменной.

На практике минимакс и Z-масштабирование имеют похожие области применимости и часто взаимозаменяемы. Однако, при вычислении расстояний между точками или векторами в большинстве случае используется Z-масштабирование. А минимакс полезен для визуализации, например, чтобы перенести признаки, кодирующие цвет пикселя, в диапазон [0..255] [2].

Как нормализовать данные для машинного обучения и Data Mining

Чтобы выполнить нормализацию данных, нужно точно знать пределы изменения значений признаков: минимальное и максимальное теоретически возможные значения. Этим показателям будут соответствовать границы интервала нормализации. Когда точно установить пределы изменения переменных невозможно, они задаются с учетом минимальных и максимальных значений в имеющейся выборке данных [3].

На практике data scientist нормализует данные с помощью уже готовых функций интегрированных сред для статистического анализа, например, IBM SPSS, SAS или специальных библиотек: Scikit-learn, Auto-sklearn, pandas и т.д. Кроме того, аналитик данных может написать собственный код на языке R или Python для почти любой операции Data Preparation [4].

нормально

Подробно о том, как нормализовать данные и другие аспекты Data Preparation в нашем новом образовательном курсе для аналитиков Big Data в Москве: подготовка данных для Data Mining. Присоединяйтесь!

Источники

  1. https://docs.microsoft.com/ru-ru/azure/machine-learning/team-data-science-process/prepare-data
  2. https://habr.com/ru/company/ods/blog/325422/
  3. https://neuronus.com/theory/nn/925-sposoby-normalizatsii-peremennykh.html
  4. https://bigdataschool.ru/bigdata/data-preparation-operations.html

Нормализация данных (Data normalization)

В машинном обучении нормализацией называют метод предобработки числовых признаков в обучающих наборах данных с целью приведения их к некоторой общей шкале без потери информации о различии диапазонов.

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

Необходимость нормализации вызвана тем, что разные признаки обучающего набора данных могут быть представлены в разных масштабах и изменяться в разных диапазонах. Например, возраст, который изменяется от 0 до 100, и доход, изменяющийся от нескольких тысяч до нескольких миллионов. То есть диапазоны изменения признаков «Возраст» и «Доход» различаются в тысячи раз.

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

Существует несколько основных методов нормализации.

Десятичное масштабирование (decimal scaling)

В данном методе нормализация производится путём перемещения десятичной точки на число разрядов, соответствующее порядку числа: x ′ i = x i / 10 n , где n — число разрядов в наибольшем наблюдаемом значении. Например, пусть имеется набор значений: -10, 201, 301, -401, 501, 601, 701. Поскольку n=3, то получим x ′ i = x i / 10 3 . Иными словами, каждое наблюдаемое значение делим на 1000 и получаем: -0.01, 0.201, 0.301, -0.401, 0.501, 0.601, 0.701.

Минимаксная нормализация

Несложно увидеть недостаток предыдущего метода: результирующие значения всегда будут занимать не весь диапазон [0,1], а только его часть, в зависимости от наибольшего и наименьшего наблюдаемых значений. Если исходный диапазон мал (скажем, 400 — 500), то получим, что в результате десятичного масштабирование нормализованные значения будут лежать в диапазоне [0.4,0.5], т.е. его изменчивость окажется очень низкой, что плохо сказывается на качестве построенной модели.

Решить проблему можно путём применения минимаксной нормализации, которая реализуется по формуле:

X ′ = X − X m i n X m a x − X m i n .

Эту формулу можно обобщить на привидение исходного набора значений к произвольному диапазону [ a , b ] :

X ′ = a + X − X m i n X m a x − X m i n ( b − a ) .

Наиболее часто используется приведение к диапазонам [0,1] и [-1,1]

Нормализация средним (Z-нормализация)

Недостаткам минимаксной нормализации является наличие аномальных значений данных, которые «растягивают» диапазон, что приводит к тому, что нормализованные значения опять же концентрируются в некотором узком диапазоне вблизи нуля. Чтобы избежать этого, следует определять диапазон не с помощью максимальных и минимальных значений, а с помощью «типичных» — среднего и дисперсии:

x ′ i = ( x i − ¯ ¯¯¯ ¯ X ) / σ x .

Величины, полученные по данной формуле, в статистике называют Z-оценками. Их Абсолютное значение представляет собой оценку (в единицах стандартного отклонения) расстояния между x и его средним значением ¯ ¯¯¯ ¯ X в общей совокупности. Если z меньше нуля, то x ниже средней, а если z больше нуля, то x выше средней.

Отношение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *