Cara menormalkan nilai dalam array numpy antara 0 dan 1


Untuk menormalkan nilai array NumPy antara 0 dan 1, Anda dapat menggunakan salah satu metode berikut:

Metode 1: Gunakan NumPy

 import numpy as np

x_norm = (x-np. min (x))/(np. max (x)-np. min (x))

Metode 2: Gunakan Sklearn

 from sklearn import preprocessing as pre

x = x. reshape (-1, 1)

x_norm = pre. MinMaxScaler (). fit_transform (x)

Kedua metode tersebut berasumsi bahwa x adalah nama array NumPy yang ingin Anda normalkan.

Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik.

Contoh 1: Normalisasikan nilai menggunakan NumPy

Misalkan kita memiliki array NumPy berikut:

 import numpy as np

#create NumPy array
x = np. array ([13, 16, 19, 22, 23, 38, 47, 56, 58, 63, 65, 70, 71])

Kita dapat menggunakan kode berikut untuk menormalkan setiap nilai dalam array antara 0 dan 1:

 #normalize all values to be between 0 and 1
x_norm = (x-np. min (x))/(np. max (x)-np. min (x))

#view normalized array
print (x_norm)

[0. 0.05172414 0.10344828 0.15517241 0.17241379 0.43103448
 0.5862069 0.74137931 0.77586207 0.86206897 0.89655172 0.98275862
 1. ]

Setiap nilai dalam array NumPy telah dinormalisasi menjadi antara 0 dan 1.

Begini cara kerjanya:

Nilai minimum pada dataset adalah 13 dan nilai maksimum adalah 71.

Untuk menormalkan nilai pertama 13 , kami akan menerapkan rumus yang dibagikan sebelumnya:

  • z i = ( xi – menit(x)) / (maks(x) – menit(x)) = (13 – 13) / (71 – 13) = 0

Untuk menormalkan nilai kedua dari 16 , kita akan menggunakan rumus yang sama:

  • z i = ( xi – menit(x)) / (maks(x) – menit(x)) = (16 – 13) / (71 – 13) = 0,0517

Untuk menormalkan nilai ketiga dari 19 , kita akan menggunakan rumus yang sama:

  • z i = ( xi – menit(x)) / (maks(x) – menit(x)) = (19 – 13) / (71 – 13) = 0,1034

Kami menggunakan rumus yang sama untuk menormalkan setiap nilai dalam array NumPy asli antara 0 dan 1.

Contoh 2: Normalisasikan nilai menggunakan sklearn

Sekali lagi, misalkan kita memiliki array NumPy berikut:

 import numpy as np

#create NumPy array
x = np. array ([13, 16, 19, 22, 23, 38, 47, 56, 58, 63, 65, 70, 71])

Kita dapat menggunakan fungsi MinMaxScaler() sklearn untuk menormalkan setiap nilai dalam array antara 0 dan 1:

 from sklearn import preprocessing as pre

#reshape array so that it works with sklearn
x = x. reshape (-1, 1)

#normalize all values to be between 0 and 1
x_norm = pre. MinMaxScaler (). fit_transform (x)

#view normalized array
print (x_norm)

[[0. ]
 [0.05172414]
 [0.10344828]
 [0.15517241]
 [0.17241379]
 [0.43103448]
 [0.5862069]
 [0.74137931]
 [0.77586207]
 [0.86206897]
 [0.89655172]
 [0.98275862]
 [1. ]]

Setiap nilai dalam array NumPy telah dinormalisasi menjadi antara 0 dan 1.

Perhatikan bahwa nilai yang dinormalisasi ini cocok dengan nilai yang dihitung menggunakan metode sebelumnya.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di NumPy:

Cara mengurutkan elemen dalam array NumPy
Cara menghapus elemen duplikat dari array NumPy
Cara menemukan nilai paling sering dalam array NumPy

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *