np.random.randn: Memahami numpy.random.randn () – Codewithaden

Dalam fungsi Python, numpy.random.randn () membuat array bentuk yang ditentukan dan mengisinya dengan nilai yang ditentukan acak per distribusi Gaussian/normal standar.

np.random.randn

Itu np.random.randn () adalah metode perpustakaan numpy yang mengembalikan sampel (atau sampel) dari “ standar normal Distribusi. Dibutuhkan dimensi dari array yang dikembalikan sebagai argumen dan mengembalikan ndarray atau, jika tidak ada argumen yang disediakan, mengembalikan nilai float.

Fungsi np.random.randn () mengembalikan semua nilai dalam bentuk float dan dalam distribusi rata -rata = 0 dan varians = 1.

Sintaksis

numpy.random.randn(d0, d1, ..., dn) 

Parameter

Jika parameter positif disediakan, fungsi randn () menghasilkan array bentuk (d0, d1, …, dn), diisi dengan pelampung acak yang diambil dari distribusi univariat “normal” (Gaussian) dari rata -rata 0 dan varians 1,

Float tunggal yang diambil secara acak dari distribusi dikembalikan jika tidak ada argumen yang disediakan. Selain itu, dimensi array yang dikembalikan harus non-negatif. Jika Anda memberikan argumen negatif, maka itu akan mengembalikan kesalahan. Jika tidak ada argumen yang diberikan, satu pun Float Python dikembalikan.

Contoh

# app.py

import numpy as np

data = np.random.randn()
print(data)
 

Keluaran

➜  pyt python3 app.py
-0.7919353665049774
➜  pyt python3 app.py
0.9218908714949405
➜  pyt python3 app.py
-0.025179948728764872
➜  pyt python3 app.py
0.29764955041572655
➜  pyt python3 app.py
-0.8279168113225552
➜  pyt python3 app.py
-1.5048354875053158 

Setiap kali Anda menjalankan app.py file, Anda akan mendapatkan nilai acak yang berbeda.

Membuat Array 1D Menggunakan NP Random Randn ()

Untuk membuat array 1D di Python, gunakan metode np.random.randn (). Metode numpy acak randn () hanya membutuhkan satu dimensi dan mengembalikan array satu dimensi.

Mari kita buat array 1D dengan 6 elemen di dalamnya.

# app.py

import numpy as np

data = np.random.randn(6)
print(data)
 

Keluaran

python3 app.py
[ 1.08086154  0.70693     0.38091969 -1.64244255  1.13132413 -0.7443323 ] 

Kami telah melewati 6 sebagai argumen untuk membuat 6 item acak dari array.

Lihat contoh lain.

# importing numpy
import numpy as np

# Now creating an 1D array of size 10
arr = np.random.randn(10)

print("Values of 1D array is:\n", arr)
print("Shape of the array is : ", np.shape(arr))
# Creating of size 5
arr2 = np.random.randn(5)
print("Values of the array is:\n ", arr2)
print("Shape of the array is : ", np.shape(arr2))
 

Keluaran

python3 app.py
Values of 1D array is:
 [ 0.456789    0.11413981 -0.06548174  0.54791075 -0.18972466 -0.11922963
  1.37909645 -0.0688107  -0.02731399  0.09351504]
Shape of the array is :  (10,)
Values of the array is:
  [ 0.99990254 -0.07788214 -0.63521035 -1.01484305 -0.2993925 ]
Shape of the array is :  (5,) 

Penjelasan

Dalam contoh ini, kami telah mencetak dua array 1D menggunakan fungsi acak.randn (). Dalam kasus pertama, kami telah mencetak array bentuk 10 dan array kedua bentuk 5. Nilai array dimasukkan secara acak sesuai aturan yang dibahas di atas.

Membuat Array 2D Menggunakan NP Random Randn ()

Untuk membuat array 2D di Python, gunakan np.random.randn () Metode dan lulus dua parameter seperti dimensi, dan mengembalikan array dua dimensi.

Sintaksis

Sintaks untuk membuat array dua dimensi menggunakan fungsi acak.randn () adalah sebagai berikut.

np.random.randn(d1, d2) 

Parameter

Dibutuhkan dua parameter.

  1. Parameter D1 menunjukkan berapa banyak baris yang kita butuhkan untuk membuat array.
  2. Parameter D2 menunjukkan berapa banyak kolom yang kita butuhkan untuk membuat array.

Lihat kode berikut.

# app.py

import numpy as np

data = np.random.randn(2, 2)
print(data)
 

Keluaran

python3 app.py
[[1.38596221 1.59121102]
 [0.11743191 0.89372055]] 

Buat array 3D menggunakan np acak randn ()

Untuk membuat array 3D di Python, gunakan metode np.random.randn () dan lulus tiga parameter sebagai dimensi, dan mengembalikan array tiga dimensi.

Contoh

Lihat kode berikut.

# app.py

import numpy as np

data = np.random.randn(3, 3, 3)
print(data)
 

Keluaran

python3 app.py
[[[-1.31932293 -0.55698306 -0.52587777]
  [-1.02907293 -0.87960688  0.48399357]
  [-0.64534737 -0.40360183  0.90921266]]

 [[ 0.94321599  0.67847027  0.70100542]
  [-0.52738798 -0.69975292  0.0960497 ]
  [-0.3399558   1.54436365  0.26914068]]

 [[ 1.98426783  1.27291484 -0.06685548]
  [-0.36821547  1.30168745  1.69065317]
  [ 1.26130492  2.05068361  0.82860505]]] 

Ini akan menghasilkan array 3D dengan nilai acak positif dan negatif.

Kita tidak dapat meneruskan dimensi negatif ke fungsi randn (); Kalau tidak, ia kembali Nilaieror.

# app.py

import numpy as np

data = np.random.randn(-3)
print(data)
 

Keluaran

python3 app.py
Traceback (most recent call last):
  File "app.py", line 3, in 
    data = np.random.randn(-3)
  File "mtrand.pyx", line 1218, in numpy.random.mtrand.RandomState.randn
  File "mtrand.pyx", line 1375, in numpy.random.mtrand.RandomState.standard_normal
  File "_common.pyx", line 558, in numpy.random._common.cont
ValueError: negative dimensions are not allowed 

Lihat contoh kode lain.

# importing numpy
import numpy as np

# Now creating an 3D array of size 2x2x3
arr = np.random.randn(2, 2, 3)

print("Values of 3D array is:\n", arr)
print("Shape of the array is : ", np.shape(arr))
# Creating 2D array of size 5x5
arr2 = np.random.randn(5, 5)
print("Values of the array is:\n ", arr2)
print("Shape of the array is : ", np.shape(arr2))
 

Keluaran

python3 app.py
Values of 3D array is:
 [[[ 1.17736919  1.26366938 -0.06364264]
  [ 0.57792361 -0.68398595  0.32957414]]

 [[ 0.49199588  0.56612773  0.98434267]
  [ 0.30158417  1.20173148 -0.36974876]]]
Shape of the array is :  (2, 2, 3)
Values of the array is:
  [[ 2.50244931e+00  1.12361971e+00 -2.54657975e-01  2.12150049e-02
  -4.34988456e-01]
 [-4.84566143e-01  2.24132038e-01 -1.42568814e+00 -2.47381915e-04
   3.37966017e-01]
 [-1.56456348e+00 -2.03418573e-01 -7.98728742e-01  8.25852255e-01
  -1.57770187e-01]
 [-8.90851952e-01  9.51316758e-01 -2.90582269e-01 -9.88468496e-01
  -4.66474163e-01]
 [ 1.86058960e-01  3.19397531e-01 -1.59117225e+00  2.16834898e-01
  -4.51887901e-01]]
Shape of the array is :  (5, 5) 

Penjelasan

Dalam contoh ini, kami telah mencetak satu array 3D menggunakan fungsi acak.randn (). Dalam hal ini, kami telah mencetak berbagai bentuk 2x2x3. Juga, kami telah mencetak satu array 2D menggunakan fungsi. Nilai array dimasukkan secara acak sesuai aturan yang dibahas di atas.

Ubah array yang dibuat secara acak.

Dalam contoh ini, pertama, kita akan membuat array 2D dengan fungsi np acak randn () dan kemudian melipatgandakan array itu menjadi 2 dan kemudian menambahkan 2 dalam array.

# app.py

import numpy as np

array = np.random.randn(2, 2)
print("2D Array filled with random values : \n", array)

# Multiplying values with 2
print("\nArray * 2 : \n", array * 2)

# Or we cab directly do so by
array = np.random.randn(2, 2) * 2 + 2
print("\nArray * 2 + 2 : \n", array)
 

Keluaran

python3 app.py
2D Array filled with random values :
 [[ 0.61033846 -2.17725096]
 [-0.45407816  2.04812173]]

Array * 2 :
 [[ 1.22067691 -4.35450192]
 [-0.90815633  4.09624346]]

Array * 2 + 2 :
 [[0.99010675 2.16741196]
 [1.99530574 3.23772725]] 

Membentuk kembali array menggunakan np.reshape ()

Ada beberapa contoh di mana kita harus membentuk kembali array. Dalam fungsi Python, numpy.reshape (), ubah dimensi dan kembalikan array baru.

Lihat kode berikut.

# app.py

import numpy as np

array = np.random.randn(3, 4)
print(array)

print("After reshape the array")
print(array.reshape(6, 2))
 

Keluaran

python3 app.py
[[ 0.86247213 -0.36951031  0.74445018 -1.28952837]
 [-1.10220821  0.15989654 -0.49336996  1.05084014]
 [ 0.84959592  0.7147576   0.83266357 -0.24533966]]
After reshape the array
[[ 0.86247213 -0.36951031]
 [ 0.74445018 -1.28952837]
 [-1.10220821  0.15989654]
 [-0.49336996  1.05084014]
 [ 0.84959592  0.7147576 ]
 [ 0.83266357 -0.24533966]] 

Array pertama kami dibuat dari fungsi np acak randn (), dan kemudian kami telah menggunakan Numpy Reshape () berfungsi untuk mengubah dimensi array. Ingat, nilai array tidak berubah di sini, tetapi dimensi berubah.

Kami juga dapat mengubah array 2D di atas menjadi array 3D menggunakan membentuk kembali() fungsi.

Lihat kode berikut.

# app.py

import numpy as np

array = np.random.randn(3, 4)
print(array)

print("After reshape the array")
print(array.reshape(2, 2, 3))
 

Keluaran

python3 app.py
[[ 2.28291597 -0.53931961 -0.62792401 -0.81161398]
 [-0.7488756   0.43830336  0.27803475  2.64883588]
 [ 0.4840037  -0.95278401  0.5861628  -1.08436804]]
After reshape the array
[[[ 2.28291597 -0.53931961 -0.62792401]
  [-0.81161398 -0.7488756   0.43830336]]

 [[ 0.27803475  2.64883588  0.4840037 ]
  [-0.95278401  0.5861628  -1.08436804]]] 

Kesimpulan

Dalam tutorial ini, kita telah melihat bagaimana kita dapat menggunakan metode numpy random.randn () untuk membuat array 1D, array 2D, array 3D.

Menggunakan np.reshape () Metode, kita dapat mengubah dimensinya. Itu untuk topik hari ini.

Lihat juga

Menghasilkan permutasi acak di Numpy

Modul nomor acak python

Cara menghasilkan nomor acak dalam python

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *