Как нормализовать массивы NumPy (минимальное-максимальное масштабирование, Z-оценка, L2)
В этом руководстве вы узнаете, как нормализовать массивы NumPy, включая многомерные массивы. Нормализация является важным навыком для любого аналитика данных или специалиста по данным.
Нормализация относится к процессу масштабирования данных в определенном диапазоне или распределении для того, чтобы сделать их более подходящими для анализа и обучения моделей. Это важный и общий этап предварительной обработки, который часто используется в машинном обучении. Это может быть особенно полезно при работе с моделями машинного обучения, основанными на расстоянии, такими как [алгоритм К-ближайших соседей](https://datagy.io/python
К концу этого руководства вы научитесь:
Как использовать функции NumPy для нормализации массива, включая масштабирование Mix-Max, нормализацию z-показателя и нормализацию L2.
Как нормализовать многомерные массивы в NumPy
Как использовать различные методы нормализации в NumPy
Оглавление
Понимание того, почему нормализация имеет значение
Нормализация — важный шаг предварительной обработки данных для анализа данных, машинного обучения и глубокого обучения. Нормализуя данные, вы конвертируете их в стандартизированный формат, чтобы они были более пригодны для анализа и обучения модели.
В этом уроке мы рассмотрим три основных метода нормализации:
Min-Max Scaling, который масштабирует данные в диапазоне от 0 до 1.
Нормализация Z-показателя, которая преобразует нормальное распределение в среднее значение 0 и стандартное отклонение 1, и
Нормализация L2, которая преобразует наши данные в единичные векторы с величинами, равными 1.
Нормализация позволяет осмысленно предварительно обрабатывать данные и необходима для многих различных алгоритмов машинного обучения. При работе с данными в разных масштабах алгоритмы на основе расстояния будут иметь значительно лучшую производительность, если вы нормализуете и масштабируете свои данные.
Например, при прогнозировании того, как цены, количество комнат и площадь дома будут в очень разных масштабах, это может привести к проблемам с производительностью, если данные не нормализованы.
Как использовать минимально-максимальное масштабирование для векторной нормализации в NumPy
Мин-максное масштабирование — один из самых простых и наиболее часто используемых методов нормализации. Этот метод масштабирует данные до определенного диапазона, обычно от [0, 1) (это означает, что данные включают 0 и доходят до 1, но не включают его).
Метод масштабирования мин-макс полезен, когда вы хотите сохранить взаимосвязь между точками данных, гарантируя при этом, что все функции находятся в пределах согласованного диапазона.
Давайте посмотрим на формулу метода мин-максного масштабирования:
Мы можем легко реализовать это в NumPy, особенно учитывая, что NumPy позволяет выполнять преобразования по массивам. Давайте посмотрим, как реализовать технику масштабирования min-max в NumPy:
В приведенном выше примере мы сначала определили массив данных. Затем мы рассчитали минимальное и максимальное значения с помощью функций np.min()
и np.max()
соответственно. После этого мы создали новый массив данных, применив формулу для масштабирования методом минимума и максимума. Поскольку массивы NumPy могут модифицироваться поэлементно, нам не пришлось проходить через каждое значение в цикле.
В следующем разделе мы рассмотрим, как можно использовать NumPy для применения нормализации по z
Как использовать нормализацию Z-показателя в NumPy
Z-счетная стандартизация используется для преобразования данных таким образом, чтобы их среднее значение было равно 0, а стандартное отклонение — 1. Эта техника также известна как нормализация с нулевым средним. Этот метод наиболее полезен при работе с данными или алгоритмами, которые предполагают нормальное (или гауссово) распределение данных.
Этот метод особенно полезен, когда вы хотите центрировать данные вокруг нуля и масштабировать их, обеспечивая единичную дисперсию.
Давайте рассмотрим формулу для нормализации z
Мы можем заметить, что из каждой точки данных вычитается среднее значение, и результат делится на стандартное отклонение данных. Поскольку NumPy позволяет применять преобразования к массивам данных, мы можем легко реализовать такую функцию на наших массивах. Давайте посмотрим, как мы можем сделать это в NumPy:
В указанном выше блоке кода мы вычислили необходимые значения, а именно среднее значение и стандартное отклонение. Затем мы смогли нормализовать наши данные с использованием нормализации по z-оценке, применив формулу ко всему массиву. Мы видим, что среднее значение данных заменено на 0 (ранее было 3), а стандартное отклонение стало равно 1.
Давайте теперь рассмотрим наш последний метод нормализации: нормализацию L2 в NumPy.
Как использовать нормализацию L2 в NumPy
L2-нормализация — это методика, которая преобразует каждую точку данных в единичный вектор (то есть вектор с величиной 1). Для L2-нормализации мы сначала вычисляем L2-норму данных и делим каждый элемент данных на эту норму, чтобы преобразовать его в единичный вектор.
Этот метод особенно полезен для анализа текстов и других алгоритмов машинного обучения, которые зависят от векторных представлений данных.
Чтобы использовать L2 нормализацию в NumPy, мы можем сначала рассчитать L2 норму данных, а затем разделить каждую точку данных на эту норму. NumPy включает в себя функцию для расчёта L2 нормы, функцию np.linalg.norm()
. Данная функция принимает массив данных и рассчитывает норму.
Давайте посмотрим, как мы можем применить L2-нормализацию к нашему массиву данных в NumPy:
В приведенном выше блоке кода мы сначала вычислили норму L2 наших данных. Затем мы разделили каждую точку данных в массиве на норму. Это нормализовало наш массив с использованием нормализации L2.
L2-нормализация — это мощный метод, обеспечивающий одинаковую длину векторов данных при сохранении их направления. Это важный метод нормализации, когда необходимо сохранять постоянство величин векторов, не изменяя их направлений.
Заключение
В этом учебном пособии мы рассмотрели важность нормализации данных и подробно остановились на трех основных методах нормализации в NumPy: масштабирование Min-Max, стандартизация по Z-оценке и нормализация L2. Для аналитика данных или научного сотрудника понимание и применение этих методик имеют решающее значение для предварительной обработки ваших данных, делая их более подходящими для анализа и задач машинного обучения.
Дополнительные ресурсы
Чтобы узнать больше о смежных темах, ознакомьтесь с нижеследующими учебными пособиями:
Last updated