使用 np.random 模組產生亂數
在本課程以及續集裡,我們會大量使用 np.random 模組。實際上,當你戴上「駭客統計學家」的帽子時,你很可能呼叫亂數產生器(RNG)實例的方法,比呼叫其他任何函式都還多。先從一個簡單的函式 rng.random() 試跑看看。這個函式會回傳 0 到 1 之間的亂數。如果你多呼叫幾次 rng.random(),應該會看到數值在 0 到 1 之間跳動。
在這個練習中,我們會產生大量介於 0 到 1 的亂數,接著繪製結果的長條圖。如果這些數字真的是隨機的,長條圖中的每個柱子高度應該都(接近)相同。
你可能有注意到,在影片中,Justin 透過將關鍵字參數 size=4 傳給 rng.random() 來產生 4 個亂數。這種作法比用 for 迴圈更有效率;不過在本練習中,你會寫一個 for 迴圈,親身體會「駭客統計」如何透過重複實驗的方式來進行。
本練習屬於課程
Statistical Thinking in Python (Part 1)
練習說明
- 使用種子
42建立並設定一個亂數產生器rng。 - 初始化一個含有 100,000 個元素的空陣列
random_numbers,用來儲存亂數。請務必使用np.empty(100000)完成這一步。 - 撰寫一個
for迴圈,利用rng.random()抽取 100,000 個亂數,並將它們存入陣列random_numbers。請針對range(100000)進行迴圈。 - 繪製
random_numbers的長條圖。這裡不必標示座標軸,因為我們只是要檢查亂數產生器是否正常。按下 送出答案 來顯示你的圖表。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Instantiate and seed the random number generator
# Initialize random numbers: random_numbers
random_numbers = ____
# Generate random numbers by looping over range(100000)
for i in ____:
random_numbers[i] = ____
# Plot a histogram
_ = plt.hist(____)
# Show the plot
plt.show()