Как нормализовать данные между 0 и 1
Чтобы нормализовать значения в наборе данных между 0 и 1, вы можете использовать следующую формулу:
z i = (x i – мин(х)) / (макс(х) – мин(х))
- z i : i -е нормализованное значение в наборе данных
- x i : i -е значение в наборе данных
- min(x) : минимальное значение в наборе данных.
- max(x): максимальное значение в наборе данных
Например, предположим, что у нас есть следующий набор данных:
Минимальное значение в наборе данных — 13, максимальное — 71.
Чтобы нормализовать первое значение 13 , мы должны применить формулу, которую использовали ранее:
- z i = (x i – min(x)) / (max(x) – min(x)) = (13 – 13) / (71 – 13) = 0
Чтобы нормализовать второе значение 16 , мы будем использовать ту же формулу:
- z i = (x i – min(x)) / (max(x) – min(x)) = (16 – 13) / (71 – 13) = 0,0517
Чтобы нормализовать третье значение 19 , мы будем использовать ту же формулу:
- z i = (x i – min(x)) / (max(x) – min(x)) = (19 – 13) / (71 – 13) = 0,1034
Мы можем использовать эту же формулу, чтобы нормализовать каждое значение в исходном наборе данных между 0 и 1:
При использовании этого метода нормализации следующие утверждения всегда будут истинными:
- Нормализованное значение для минимального значения в наборе данных всегда будет равно 0.
- Нормализованное значение максимального значения в наборе данных всегда будет равно 1.
- Нормализованные значения для всех остальных значений в наборе данных будут находиться в диапазоне от 0 до 1.
Когда нормализовать данные
Часто мы нормализуем переменные при выполнении некоторого типа анализа, в котором у нас есть несколько переменных, измеряемых в разных масштабах, и мы хотим, чтобы каждая из переменных имела одинаковый диапазон.
Это предотвращает чрезмерное влияние одной переменной, особенно если она измеряется в разных единицах (например, если одна переменная измеряется в дюймах, а другая — в ярдах).
Также стоит отметить, что в этом руководстве мы использовали метод, известный как минимальная-максимальная нормализация , для нормализации значений данных.
Двумя наиболее распространенными методами нормализации являются следующие:
1. Мин-макс нормализация
- Цель: Преобразует каждое значение данных в значение от 0 до 100.
- Формула: Новое значение = (значение – мин.) / (макс. – мин.) * 100
2. Средняя нормализация
- Цель: Масштабирует значения таким образом, чтобы среднее значение всех значений было равно 0 и станд. разв. 1.
- Формула: Новое значение = (значение – среднее значение) / (стандартное отклонение)
Дополнительные ресурсы
В следующих руководствах объясняется, как нормализовать данные с помощью различных статистических программ:
Нормализация данных (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 выше средней.
Отношение
В этом методе каждое значение исходных данных делиться на некоторое, заданное пользователем число, или на значение статистического показателя, вычисленного по набору данных, например, среднее, стандартное отклонение, дисперсию, вариационный размах и др.
Как нормализовать данные и зачем это нужно
Нормализация данных является важным процессом в аналитике данных, который помогает привести различные масштабы и единицы измерения к единому виду. Это облегчает сравнение, анализ и обработку данных, особенно при использовании алгоритмов машинного обучения. В этой статье мы разберемся, что такое нормализация данных, как ее проводить и почему это важно.
Что такое нормализация данных
Нормализация данных – это процесс приведения разных масштабов и единиц измерения к единому виду. Это делается для того, чтобы упростить сравнение, анализ и обработку данных. В основе нормализации лежит идея о том, что данные должны быть представлены в виде, который облегчает их интерпретацию и использование.
Пример ненормализованных данных:
| Страна | Площадь, км² | Население, млн человек |
|———|—————|————————|
| Россия | 17,100,000 | 146 |
| США | 9,800,000 | 328 |
| Китай | 9,600,000 | 1400 |
Видно, что площадь и население измеряются в разных единицах, и сравнивать их напрямую сложно. Нормализация данных позволяет преобразовать эти значения в единый масштаб, упрощая анализ.
Методы нормализации данных
Существует несколько популярных методов нормализации данных, включая:
- Минимально-максимальная нормализация (min-max scaling)
- Z-преобразование (z-score normalization)
- Нормализация на основе среднего значения (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) – минимальное и максимальное значения в наборе данных соответственно.
Зачем нужна нормализация данных
Нормализация данных имеет ряд преимуществ:
- Упрощение сравнения данных: когда все данные представлены в едином масштабе, их легче сравнивать и анализировать.
- Ускорение обучения алгоритмов машинного обучения: многие алгоритмы обучаются быстрее, когда данные нормализованы.
- Повышение точности алгоритмов машинного обучения: нормализация данных может помочь алгоритмам сосредоточиться на важных аспектах данных, улучшая их точность и производительность.
Заключение
Нормализация данных является важным этапом в аналитике данных, который помогает привести различные масштабы и единицы измерения к единому виду. Это облегчает сравнение, анализ и обработку данных, а также улучшает работу алгоритмов машинного обучения. В этой статье мы рассмотрели основные методы нормализации данных и их преимущества.
Что такое нормализация данных?
В эпоху, которую мы переживаем, данные — это новое золото. Настоящим сокровищем, которым обладают компании, теперь являются данные. Количество данных, которыми располагает компания или организация, и то, как она может их использовать, имеет огромное значение для ее успеха. Это связано с тем, что сегодня решения, маркетинг, развитие, рост, управление клиентами и продажи основываются на данных. Большой проблемой для компаний сегодня является работа с огромным количеством данных, поэтому мы все чаще сталкиваемся с нормализацией данных. Но что такое нормализация данных? Зачем она нам нужна? И каковы ее преимущества? В этой статье мы ответим на все эти и другие вопросы.
Что такое нормализация данных?
Нормализация данных, или нормализация базы данных, — это процесс организации и структурирования базы данных с целью сокращения избыточности данных. Проще говоря, процесс нормализации базы данных — это способ убедиться в том, что каждое поле и запись организованы логически таким образом, чтобы не только избежать избыточности, но и сделать использование любой реляционной базы данных более эффективным: избежать ошибок ввода данных, случайного удаления, а также облегчить процесс обновления данных. Понять нормализацию данных очень просто, но этот процесс сложнее, чем кажется. Нормализация данных подчиняется определенным правилам, которые диктуют, как должна быть организована база данных.
Преимущества нормализации данных
Используете ли вы реляционные базы данных, CRM платформы, анализ данных или каким-либо образом связаны с разработкой приложений, вам понадобится нормализация данных. Вы можете думать, что нормализация базы данных может стать дополнительной работой для вас и вашей команды, но как только вы узнаете о ее преимуществах, вы измените свое мнение. Итак, каковы преимущества нормализации данных?
Уменьшение размера базы данных
Когда у вас есть данные, которые повторяются в вашей базе данных, вам нужно много места для хранения этих данных, но это совершенно напрасная трата. Нормализация данных приводит к уменьшению пространства для хранения базы данных, а это, как вы знаете, означает экономию ресурсов и денег.
Упрощение запросов
Искать информацию в хорошо организованной базе данных всегда проще, чем в беспорядочной, независимо от того, делаете ли вы это вручную или с помощью автоматизированного цифрового инструмента.
Облегчение обслуживания
Нормализация базы данных предотвращает проблемы и облегчает обслуживание базы данных. Опять же, это позволяет избежать напрасной траты ресурсов и денег.
Улучшение производительности
Как вы, возможно, уже знаете, базы данных лежат в основе функционирования каждого приложения или программного обеспечения в целом. Нормализация базы данных ускоряет процесс извлечения данных, что, соответственно, повышает производительность вашего приложения.
Кому нужна нормализация данных?
Нормализация данных нужна всем, кто имеет дело с данными и базами данных в любых целях. Нет смысла иметь избыточную, плохо организованную базу данных. Однако есть некоторые области, где нормализация данных особенно важна:
- анализ данных: если вам нужно извлечь полезную информацию из нескольких баз данных, необходимо, чтобы они были нормализованы.
- разработка программного обеспечения: нормализация данных имеет огромное значение при оптимизации производительности любого приложения. Она становится чрезвычайно важной, когда разработчикам необходимо интегрировать данные из приложения «программное обеспечение как услуга » в процесс разработки.
- бизнес: каждой компании необходимо собирать данные, а затем использовать их для принятия решений, развития бизнеса, разработки маркетинговой стратегии и т.д.
- профессионалы: каждый, кто имеет независимую работу, нуждается в организации своих клиентов, их информации, каталога услуг/продуктов и т.д. Другими словами, им нужны базы данных и нормализация данных.
Как работает нормализация данных
До сих пор мы говорили о нормализации данных как о теоретической концепции. Однако, когда мы углубились в ее практические аспекты, мы обнаружили, что это процесс, состоящий из стандартов и определенных правил, которые необходимо знать, если вы хотите оптимизировать свои базы данных и использовать все преимущества, о которых мы говорили выше.
По своей сути, нормализация данных — это определение стандартов для всех данных, вводимых в базы данных. Например, если у нас есть база данных клиентов с их номерами телефонов и адресами, наши стандарты могут быть следующими:
- Все имена записаны в такой форме: Дурсли, Вернон.
- Все номера телефонов записываются в такой форме: 530-000-0000.
- Все адреса пишутся в такой форме: 4, Private Drive, San Francisco.
Попробуйте no-code платформу AppMaster
AppMaster поможет создать любое веб, мобильное или серверное приложение в 10 раз быстрее и 3 раза дешевле
Однако некоторые стандарты являются общими для всех, кто имеет дело с базами данных, где бы они ни находились и чем бы ни занимались. Существуют некоторые правила, сгруппированные в уровни, называемые нормальными формами. Они организованы таким образом, что каждая нормальная форма основывается на предыдущей; другими словами, вы можете применить вторую нормальную форму только в том случае, если вы уже применили первую.
Стандартизировано несколько нормальных форм, но самыми распространенными и наиболее важными для знания являются первые три — именно поэтому в этой статье мы рассматриваем их более подробно. Однако, помимо нормальных форм, существуют и другие общие правила, которых необходимо придерживаться. Например, таблицы в базе данных должны содержать первичный ключ. Значения первичного ключа отличают каждую строку и связывают каждую запись с уникальным идентификатором. Поэтому, прежде чем переходить к первой нормальной форме, убедитесь, что ваша база данных или таблица содержит поле первичного ключа.
Первая нормальная форма (1НФ)
Первая нормальная форма диктует, что каждое поле вашей базы данных должно хранить только одно значение и что в одной базе данных не должно быть двух полей, одинаково хранящих информацию. Давайте поясним это на примере. Это база данных, в которой хранится информация о курсах и профессорах, которые их преподают.
Эта база данных нарушает первую нормальную форму двумя способами:
- В одном поле два значения, так как профессор Митчелл преподает два курса;
- Имеются два поля, хранящие схожую информацию: Professor ID и Professor Name оба предоставляют информацию о личности профессора.
Чтобы нормализовать нашу базу данных, нам нужно разделить ее на две части:
- Первая будет содержать информацию, связанную с личностью профессоров, и будет включать два поля: ID профессора и Имя профессора.
- Вторая будет содержать два поля: одно для курсов и одно для ID профессора, соответствующего профессору, который преподает этот курс.
Итак, у нас есть две базы данных, где первая имеет связь «один ко многим» со второй. Две таблицы соединены внешним ключом, то есть полем ID профессора.
Вторая нормальная форма (2НФ)
Вторая нормальная форма направлена на уменьшение избыточности, гарантируя, что каждое поле хранит информацию, которая говорит нам что-то о первичном ключе. Другими словами:
- Каждая база данных должна иметь только один первичный ключ
- Все непервичные ключи должны полностью зависеть от первичного ключа.
Эти два принципа гарантируют, что каждая база данных хранит последовательную информацию об одном и том же аргументе, который содержится в первичном ключе. Опять же, давайте поможем нашему пониманию на примере.
У нас есть база данных Professor Birthday and Department, которая выглядит следующим образом:
Профессор Имя | День рождения | Кафедра |
Гарри Грей | Июль, 1 | Литература |
Виктория Уайт | Сентябрь, 19 | Литература |
Павел Саул | Март, 1 | Литература |
Джеймс Смит | Июнь, 5 | Наука |
Приведенная выше база данных следует первой нормальной форме, потому что каждое поле содержит только один фрагмент информации, и все поля предоставляют разную информацию. Однако она не соответствует второй нормальной форме, потому что, в то время как поле «День рождения» полностью зависит от их имени, поле «Факультет», к которому они принадлежат, не зависит от их дня рождения.
Попробуйте no-code платформу AppMaster
AppMaster поможет создать любое веб, мобильное или серверное приложение в 10 раз быстрее и 3 раза дешевле
Чтобы нормализовать эту базу данных, нам снова нужно разделить ее на две части:
- База данных «День рождения профессора», которая включает два поля: имя профессора и день рождения
- База данных «Кафедра профессора», которая включает два поля: имя профессора и кафедра
Третья нормальная форма (3НФ)
База данных соответствует третьей нормальной форме, если в ней нет ни одной переходной зависимости. Что такое переходная зависимость? Переходная зависимость возникает, когда столбец B в вашей базе данных зависит от столбца A, который зависит от первичного ключа. Чтобы нормализовать базу данных в соответствии с третьей нормальной формой, необходимо удалить столбец B, который не зависит напрямую от первичного ключа, и хранить эту информацию во второй базе данных с собственным первичным ключом.
Приведем еще один пример. У нас есть база данных заказов:
ID заказа | Дата заказа | Идентификатор клиента | Почтовый индекс клиента |
D001 | 01/3/2022 | C001 | 97438 |
D002 | 06/15/2022 | C002 | 08638 |
В этой базе данных не соблюдается третья нормальная форма, потому что у нас есть первичный ключ, ID заказа. Дата заказа и ID клиента полностью зависят от него, но Zip Code клиента зависит от ID клиента, который не является первичным ключом. Как мы уже говорили, для нормализации этой базы данных в соответствии с третьей нормальной формой нам нужно создать вторую базу данных Customer Zip Code Database, которая свяжет каждый ID клиента с его Zip Code.
Что такое SQL-ключи?
Нормализация данных становится, конечно же, очень важной, когда мы имеем дело с базой данных SQL. SQL — это стандартный язык для реляционных систем баз данных, используемый любым компьютером для хранения, манипулирования и извлечения данных из реляционной базы данных. SQL ключи — это атрибуты (это может быть один или несколько атрибутов), используемые для получения данных из базы данных или таблицы. Они также используются для создания связей между различными базами данных.
Существуют наиболее важные типы SQL-ключей:
- Суперключ: суперключ — это комбинация одного или нескольких столбцов в таблице, которая однозначно идентифицирует одну строку в таблице.
- Внешний ключ: он важен, когда у вас есть две связанные базы данных. В примере, который мы привели для второй нормальной формы, у нас было две нормализованные базы данных, которые «делили» поле Professor ID. Идентификатор профессора — это внешний ключ, который служит для того, чтобы сообщить базам данных, что они связаны.
- Первичный ключ: это разновидность ключа SQL . Как мы уже говорили, согласно первой нормальной форме, в каждой таблице не может быть более одного первичного ключа, и все поля должны напрямую и полностью зависеть от него.
Заключение
В этой статье мы обсудили важность нормализации данных. Как мы уже упоминали, она может показаться процессом, замедляющим рабочий процесс и усложняющим его, но преимущества ее таковы, что она стоит дополнительной работы.
Нормализация данных — это также пример того, как управление базами данных может стать чрезвычайно сложным. По этой причине важно полагаться на инструменты, которые могут максимально упростить работу. В этой связи стоит порекомендовать no-code инструмент AppMaster s, который позволяет создавать приложения и управлять их базами данных без написания кода. Возможно, вам все же придется выучить правила нормализации данных, но применять их станет намного проще!