Как нормализовать матрицу numpy: с примерами


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

Самый простой способ нормализовать значения матрицы NumPy — использовать функциюnormalize() из пакета sklearn, которая использует следующий базовый синтаксис:

 from sklearn. preprocessing import normalize

#normalize rows of matrix
normalize(x, axis= 1 , norm=' l1 ')

#normalize columns of matrix
normalize(x, axis= 0 , norm=' l1 ')

Следующие примеры показывают, как использовать этот синтаксис на практике.

Пример 1: нормализовать строки матрицы NumPy

Предположим, у нас есть следующая матрица NumPy:

 import numpy as np

#create matrix
x = np. arange (0, 36, 4). reshape (3,3)

#view matrix
print (x)

[[ 0 4 8]
 [12 16 20]
 [24 28 32]]

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

 from sklearn. preprocessing import normalize

#normalize matrix by rows
x_normed = normalize(x, axis= 1 , norm=' l1 ')

#view normalized matrix
print (x_normed)

[[0. 0.33333333 0.66666667]
 [0.25 0.33333333 0.41666667]
 [0.28571429 0.33333333 0.38095238]]

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

  • Сумма первой строки: 0 + 0,33 + 0,67 = 1
  • Сумма второй строки: 0,25 + 0,33 + 0,417 = 1
  • Сумма третьей строки: 0,2857 + 0,3333 + 0,3809 = 1.

Пример 2: нормализовать столбцы матрицы NumPy

Предположим, у нас есть следующая матрица NumPy:

 import numpy as np

#create matrix
x = np. arange (0, 36, 4). reshape (3,3)

#view matrix
print (x)

[[ 0 4 8]
 [12 16 20]
 [24 28 32]]

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

 from sklearn. preprocessing import normalize

#normalize matrix by columns
x_normed = normalize(x, axis= 0 , norm=' l1 ')

#view normalized matrix
print (x_normed)

[[0. 0.08333333 0.13333333]
 [0.33333333 0.33333333 0.33333333]
 [0.66666667 0.58333333 0.53333333]]

Обратите внимание, что значения в каждом столбце теперь в сумме составляют единицу.

  • Сумма первого столбца: 0 + 0,33 + 0,67 = 1.
  • Сумма второго столбца: 0,083 + 0,333 + 0,583 = 1.
  • Сумма третьего столбца: 0,133 + 0,333 + 0,5333 = 1.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:

Как нормализовать массивы в Python
Как нормализовать столбцы в DataFrame Pandas

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

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