Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjanaan nombor rawak yang cekap menggunakan numpy

Penjanaan nombor rawak yang cekap menggunakan numpy

WBOY
WBOYasal
2024-01-03 12:12:26449semak imbas

Penjanaan nombor rawak yang cekap menggunakan numpy

Gunakan numpy untuk mencapai penjanaan nombor rawak yang cekap

Nombor rawak mempunyai aplikasi penting dalam banyak bidang, seperti eksperimen simulasi, permulaan algoritma pembelajaran mesin, kriptografi, dsb. Numpy ialah perpustakaan pengkomputeran saintifik yang cekap yang turut menyediakan fungsi dan alatan yang kaya untuk menjana nombor rawak. Artikel ini akan memperkenalkan cara menggunakan numpy untuk menjana nombor rawak dengan cekap dan memberikan contoh kod tertentu.

Fungsi penjanaan nombor rawak dalam perpustakaan numpy terutamanya tertumpu dalam modul rawak. Berikut ialah beberapa fungsi penjanaan nombor rawak yang biasa digunakan dan contoh penggunaannya:

  1. Hasilkan nombor rawak yang mematuhi taburan seragam

Nombor rawak teragih seragam berkemungkinan sama dijana dalam selang waktu tertentu. Numpy menyediakan fungsi rand untuk mencapai penjanaan nombor rawak teragih seragam Contoh kod adalah seperti berikut:

import numpy as np

# 生成一个服从[0, 1)区间均匀分布的随机数
random_num = np.random.rand()
print(random_num)

# 生成一个服从[10, 20)区间均匀分布的随机数
random_num = np.random.uniform(10, 20)
print(random_num)

# 生成一个3x3的数组,其中的元素服从[0, 1)区间均匀分布
random_array = np.random.rand(3, 3)
print(random_array)
  1. Jana nombor rawak yang mematuhi taburan normal

nombor rawak taburan biasa mempunyai taburan berbentuk loceng berpusat pada min. Fungsi randn disediakan dalam numpy untuk menjana nombor rawak yang mematuhi taburan normal piawai Anda juga boleh menggunakan fungsi normal untuk menjana nombor rawak teragih normal dengan min dan varians arbitrari. Berikut ialah contoh kod:

import numpy as np

# 生成一个服从标准正态分布的随机数
random_num = np.random.randn()
print(random_num)

# 生成一个服从均值为5,方差为2的正态分布随机数
random_num = np.random.normal(5, 2)
print(random_num)

# 生成一个4x4的数组,其中的元素服从标准正态分布
random_array = np.random.randn(4, 4)
print(random_array)
  1. Susunan dan Pemilihan Rawak

Kadangkala anda perlu menyusun tatasusunan secara rawak, atau secara rawak memilih sebahagian elemen daripada tatasusunan. Numpy menyediakan fungsi shuffle dan pilihan untuk menyelesaikan operasi ini. Berikut ialah contoh kod:

import numpy as np

# 随机排列一个数组
array = np.array([1, 2, 3, 4, 5])
np.random.shuffle(array)
print(array)

# 从一个数组中随机选择3个元素
array = np.array([1, 2, 3, 4, 5])
random_choice = np.random.choice(array, size=3, replace=False)
print(random_choice)
  1. Jana integer rawak

Selain menjana nombor titik terapung rawak, numpy juga menyediakan fungsi untuk menjana integer rawak. Fungsi randint boleh menjana integer rawak dalam julat yang ditentukan, dan fungsi pilihan juga boleh digunakan untuk menjana integer rawak dalam julat yang ditentukan. Berikut ialah contoh kod:

import numpy as np

# 生成一个[1, 10]范围内的随机整数
random_int = np.random.randint(1, 11)
print(random_int)

# 从一个数组中随机选择一个整数
array = np.array([1, 2, 3, 4, 5])
random_choice = np.random.choice(array)
print(random_choice)

Melalui contoh di atas, kita dapat melihat bahawa numpy menyediakan set kaya fungsi penjanaan nombor rawak untuk memenuhi keperluan pelbagai senario aplikasi. Apabila menjana sejumlah besar nombor rawak, kelebihan kecekapan numpy amat jelas, yang boleh meningkatkan kelajuan berjalan program dengan banyak.

Ringkasnya, adalah sangat mudah untuk menggunakan numpy untuk mencapai penjanaan nombor rawak yang cekap. Saya harap pengenalan dalam artikel ini dapat membantu pembaca lebih memahami dan menggunakan fungsi penjanaan nombor rawak dalam perpustakaan numpy.

Atas ialah kandungan terperinci Penjanaan nombor rawak yang cekap menggunakan numpy. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn