Как нормализовать матрицу 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
Как нормализовать столбцы в Pandas DataFrame

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.