Cara menggunakan NUMPY.RANDOM.PERMUTATION pada Python

Section Artikel

    • 0.1 Elemen Permutasi Acak
  • 1 Shuffling Array
  • 2 Menghasilkan Permutasi Array

Elemen Permutasi Acak

Permutasi mengacu pada pengaturan elemen. misalnya [3, 2, 1] adalah permutasi dari [1, 2, 3] dan sebaliknya.

Modul NumPy Random menyediakan dua metode untuk permutasi yaitu shuffle() dan permutation().

Shuffling Array

Shuffle (acak) berarti mengubah susunan elemen di tempat, yaitu dalam array itu sendiri.

Contoh:
Shuflle elemen array berikut secara acak

from numpy import random
import numpy as np

arr = np.array([1, 2, 3, 4, 5])

random.shuffle(arr)

print(arr)

Metode shuffle() akan membuat perubahan pada array yang asli.

Menghasilkan Permutasi Array

Contoh:
Hasilkan elemen permutasi acak array berikut

from numpy import random
import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print(random.permutation(arr))

Metode permutation() mengembalikan nilai array yang telah diatur ulang (dan membiarkan array asli tidak berubah).

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    With the help of numpy.random.permutation() method, we can get the random samples of sequence of permutation and return sequence by using this method.

    Syntax : numpy.random.permutation(x)

    Return : Return the random sequence of permuted values.

    Example #1 :

    In this example we can see that by using numpy.random.permutation() method, we are able to get the sequence of permutation and it will return the sequence by using this method.

    Python3

    import numpy as np

    import matplotlib.pyplot as plt

    gfg = np.random.permutation(200)

    count, bins, ignored = plt.hist(gfg, 14, density = True)

    plt.show()

    Output :

    Cara menggunakan NUMPY.RANDOM.PERMUTATION pada Python

    Example #2 :

    Python3

    import numpy as np

    import matplotlib.pyplot as plt

    arr = np.arange(12).reshape((4, 3))

    gfg = np.random.permutation(arr)

    count, bins, ignored = plt.hist(gfg, 14, density = True)

    plt.show()

    Output :

    Cara menggunakan NUMPY.RANDOM.PERMUTATION pada Python

    np.random.seed(0) membuat angka acak dapat diprediksi

    >>> numpy.random.seed(0) ; numpy.random.Rand(4)
    array([ 0.55,  0.72,  0.6 ,  0.54])
    >>> numpy.random.seed(0) ; numpy.random.Rand(4)
    array([ 0.55,  0.72,  0.6 ,  0.54])
    

    Dengan seed reset (setiap waktu), set angka yang sama akan muncul setiap waktu.

    Jika seed acak tidak disetel ulang, angka berbeda muncul dengan setiap doa:

    >>> numpy.random.Rand(4)
    array([ 0.42,  0.65,  0.44,  0.89])
    >>> numpy.random.Rand(4)
    array([ 0.96,  0.38,  0.79,  0.53])
    

    (pseudo-) angka acak bekerja dengan memulai dengan angka (seed), mengalikannya dengan angka besar, kemudian mengambil modulo produk itu. Angka yang dihasilkan kemudian digunakan sebagai benih untuk menghasilkan nomor "acak" berikutnya. Ketika Anda mengatur seed (setiap waktu), ia melakukan hal yang sama setiap kali, memberi Anda nomor yang sama.

    Jika Anda ingin angka yang tampaknya acak, jangan atur seed. Namun, jika Anda memiliki kode yang menggunakan angka acak yang ingin Anda debug, akan sangat membantu jika Anda mengatur seed sebelum setiap kali dijalankan sehingga kode tersebut melakukan hal yang sama setiap kali Anda menjalankannya.

    Untuk mendapatkan angka paling acak untuk setiap proses, panggil numpy.random.seed(). Ini akan menyebabkan numpy untuk mengatur seed ke nomor acak yang diperoleh dari /dev/urandom atau analog Windows atau, jika tidak ada yang tersedia, ia akan menggunakan jam.