解析numpy常用的隨機數產生方法

王林
發布: 2024-01-26 09:09:07
原創
937 人瀏覽過

解析numpy常用的隨機數產生方法

numpy產生隨機數的常用方法解析

隨機數在資料分析和機器學習中具有重要的作用。 numpy是Python中一個常用的數值計算庫,提供了多種產生隨機數的方法。本文將對numpy產生隨機數的常用方法進行解析,並給出具體的程式碼範例。

  1. 隨機整數

numpy提供了產生隨機整數的函數numpy.random.randint()。此函數可以產生指定範圍內的隨機整數。

import numpy as np

# 生成范围在[low, high)之间的随机整数
rand_int = np.random.randint(low, high, size)
登入後複製

其中,low表示產生隨機整數的下界(包含),high表示上界(不包含),size表示產生的隨機整數的數量。

範例:

import numpy as np

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)
登入後複製

輸出:
[4 9 5 3 1]

上述程式碼產生了5個範圍在1到10之間的隨機整數。

  1. 隨機浮點數

numpy提供了產生隨機浮點數的函數numpy.random.rand()和numpy.random.randn()。

import numpy as np

# 生成[0, 1)之间的均匀分布的随机浮点数
rand_float = np.random.rand(size)

# 生成符合标准正态分布的随机浮点数
rand_normal_float = np.random.randn(size)
登入後複製

其中,rand_float產生[0, 1)之間均勻分佈的隨機浮點數,rand_normal_float產生符合標準常態分佈的隨機浮點數。 size表示產生的隨機浮點數的數量。

範例:

import numpy as np

rand_float = np.random.rand(5)
rand_normal_float = np.random.randn(5)

print(rand_float)
print(rand_normal_float)
登入後複製

輸出:
[0.83600534 0.69029467 0.44770399 0.61348757 0.93889918]
[-0.61348757 0.93889918]

[-0.9200918685091876850910875050187505018750198501985050185075018507501850750501875050187501985019850198501985. 1 1.67634905]

上述程式碼生成了一個長度為5的均勻分佈隨機浮點數數組和一個長度為5的標準常態分佈隨機浮點數數組。
  1. 隨機種子

numpy產生的隨機數預設是偽隨機數,即每次執行程式產生的隨機數是不同的。如果想要產生相同的隨機數序列,可以使用隨機種子。

import numpy as np

# 设置随机种子
np.random.seed(seed)
登入後複製

其中,seed表示隨機種子的值。相同隨機種子產生的隨機數序列是相同的。

範例:

import numpy as np

np.random.seed(0)

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)

np.random.seed(0)

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)
登入後複製

輸出:
[6 1 4 8 4][6 1 4 8 4]

上述程式碼設定了隨機種子為0,使用相同的隨機種子產生了兩個相同的隨機整數陣列。

透過本文對numpy產生隨機數的常用方法的解析和程式碼範例,相信讀者能更熟悉numpy庫中產生隨機數的操作。在資料分析和機器學習等領域,隨機數的產生是常見的操作,掌握這些方法對於進行相關的資料實驗和模型訓練是非常有幫助的。 ###

以上是解析numpy常用的隨機數產生方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板