使用 NumPy 生成均勻分佈的隨機數


高斯分佈,也稱為正態分佈,在統計分析和資料建模中常用。它以其熟悉的鐘形曲線為特徵,表示實值隨機變數的連續機率分佈。其鐘形曲線特性使其成為模擬現實世界現象的常用工具。

random 模組生成一組從正態分佈中抽取的偽隨機數,並指定均值和標準差。

語法

numpy.random.uniform(low=0.0, high=1.0, size=None)

引數

low :它接受浮點數或陣列作為引數,表示可以生成的最小值。預設值為 0。

high:與 low 非常相似,但預設值為 1。

size :它接受整數或整數元組作為引數,並確定要生成的隨機數的數量。

示例

以下示例演示瞭如何生成具有預設下限和上限(0 和 1)的隨機數。

演算法

  • 將 numpy 庫匯入為 nmp。

  • 使用 numpy.random.uniform 函式,不指定顯式下限和上限。

  • 將 size 引數指定為 5,以從均勻分佈中生成五個隨機數。

  • 將生成的隨機數儲存在單獨的變數中。

import numpy as nmp

# Generate five random numbers from the uniform distribution
random_numbers = nmp.random.uniform(size=5)

# Print the generated random numbers
print("The Random Generated Numbers Are:", random_numbers)

輸出

The Random Generated Numbers Are: [0.16686196 0.00839822 0.70146929 0.98215339 0.65254042]

示例

以下程式碼說明了如何使用 numpy 從均勻分佈中生成具有特定範圍的 10 個隨機數。

import numpy as np

# Set the lower and upper bounds
lower_bound = 10  # Lower bound of the distribution
upper_bound = 20  # Upper bound of the distribution

# Generate five random numbers from the uniform distribution
random_numbers = np.random.uniform(low=lower_bound, high=upper_bound, size=10)

# Print the generated random numbers
print("Generated Random Numbers:", random_numbers)

輸出

Generated Random Numbers: [12.17244749 19.45438526 17.23474221 12.62434952 
14.93329819 19.24373114 14.46020672 10.5430179  13.23576976 16.82255347]

示例

在本例中,我們將使用 NumPy 的均勻分佈生成一個 2D 隨機數陣列,並使用自定義範圍。

演算法

  • 匯入 numpy 庫。

  • 設定均勻分佈所需的上下限值。

  • 將上下限值作為引數傳遞,並指定引數的大小。

  • 將生成的隨機數儲存在單獨的變數中。

import numpy as nmpy

# Set the lower and upper bounds
lower_bound = 0 
upper_bound = 100 

# Generate a 2D array of random numbers from the uniform distribution
random_numbers = nmpy.random.uniform(low=lower_bound, high=upper_bound, size=
(3, 5))

# Print the generated random numbers
print("The 2D array Randomly generated Numbers:")
print(random_numbers)

輸出

The 2D array Randomly generated Numbers:
[[34.9530181  47.99901914 80.16861203  5.86164601 24.51089145]
 [87.87714454 79.73164792 17.19521485 67.10860954 54.12845578]
 [75.46746683 55.00061495 93.79876457 74.6587852  33.00568042]]

結論

NumPy 是一個強大的工具,開發人員可以使用它在 Python 中從均勻分佈生成隨機數,這些隨機數可用於各種應用、模擬和為測試用例生成隨機資料點,這通常用於為機器學習應用程式建立合成數據以建立隨機輸入。

更新於: 2023年8月10日

848 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告