การสร้างตัวเลขสุ่มด้วยโมดูล np.random
เราจะใช้โมดูล np.random อย่างต่อเนื่องตลอดคอร์สนี้และคอร์สถัดไป ในฐานะ hacker statistician คุณจะเรียกใช้เมธอดของ RNG บ่อยกว่าฟังก์ชันอื่นใดทั้งหมด มาเริ่มต้นด้วยฟังก์ชันง่าย ๆ อย่าง rng.random() กัน ฟังก์ชันนี้จะคืนค่าตัวเลขสุ่มระหว่างศูนย์ถึงหนึ่ง ลองเรียกใช้หลาย ๆ ครั้ง แล้วจะเห็นตัวเลขสุ่มที่แตกต่างกันออกไปในแต่ละครั้ง
ในแบบฝึกหัดนี้ เราจะสร้างตัวเลขสุ่มจำนวนมากระหว่างศูนย์ถึงหนึ่ง แล้วพล็อตฮิสโตแกรมของผลลัพธ์ที่ได้ หากตัวเลขสุ่มจริง ๆ แท้ ๆ แท่งทุกแท่งในฮิสโตแกรมควรมีความสูงใกล้เคียงกัน
คุณอาจสังเกตว่าในวิดีโอ Justin สร้างตัวเลขสุ่ม 4 ตัวโดยส่ง keyword argument size=4 เข้าไปใน rng.random() ซึ่งวิธีนี้มีประสิทธิภาพกว่าการใช้ลูป for อย่างไรก็ตาม ในแบบฝึกหัดนี้ให้เขียนลูป for เพื่อสัมผัสแนวคิด hacker statistics ซึ่งคือการทำซ้ำการทดลองหลาย ๆ ครั้ง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Statistical Thinking in Python (ตอนที่ 1)
คำแนะนำการฝึกหัด
- สร้าง RNG พร้อมกำหนด seed โดยใช้ค่า
42แล้วเก็บไว้ในตัวแปรrng - สร้างอาร์เรย์ว่าง
random_numbersที่มี 100,000 ช่อง สำหรับเก็บตัวเลขสุ่ม โดยใช้np.empty(100000) - เขียนลูป
forเพื่อสุ่มตัวเลข 100,000 ค่าด้วยrng.random()แล้วเก็บไว้ในอาร์เรย์random_numbersโดยวนลูปผ่านrange(100000) - พล็อตฮิสโตแกรมของ
random_numbersในกรณีนี้ไม่จำเป็นต้องใส่ label แกน เพราะเราแค่ตรวจสอบตัวสร้างตัวเลขสุ่ม กด ส่งคำตอบ เพื่อแสดงกราฟ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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()