Як нормалізувати матрицю 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *