เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor ในบท Random Data Distribution
การกระจายข้อมูลคืออะไร
- การกระจายข้อมูลคือรายการของค่าที่เป็นไปได้ทั้งหมดและความถี่ที่แต่ละค่าเกิดขึ้น
- รายการดังกล่าวมีความสำคัญเมื่อทำงานกับสถิติและวิทยาศาสตร์ข้อมูล
- วิธีการเสนอโมดูลแบบสุ่มที่ส่งคืนการกระจายข้อมูลที่สร้างแบบสุ่ม
การกระจายแบบสุ่ม
การแจกแจงแบบสุ่มคือชุดของตัวเลขสุ่มที่ตามฟังก์ชันความหนาแน่นของความน่yาจะเป็น ฟังก์ชันความหนาแน่นน่าจะเป็น ฟังก์ชันที่อธิบายความน่าจะเป็นอย่างต่อเนื่อง ความน่าจะเป็นของค่าทั้งหมดในอาร์เรย์ เราสามารถสร้างตัวเลขสุ่มตามความน่าจะเป็นที่กำหนดโดยใช้วิธี choice() ของโมดูลสุ่ม
- choice() วิธีการช่วยให้เราสามารถระบุความน่าจะเป็นสำหรับแต่ละค่า ความน่าจะเป็นจะถูกกำหนดโดยตัวเลขระหว่าง 0 ถึง 1 โดยที่ 0 หมายความว่าค่าจะไม่เกิดขึ้นและ 1 หมายถึงค่านั้นจะเกิดขึ้นเสมอ
ตัวอย่าง
สร้างอาร์เรย์ 1-D ที่มี 100 ค่าโดยที่แต่ละค่าจะต้องมี 3, 5, 7 หรือ 9
- ความน่าจะเป็นสำหรับค่าที่จะเป็น 3 ถูกตั้งค่าเป็น 0.1
- ความน่าจะเป็นสำหรับค่าที่จะเป็น 5 ถูกตั้งค่าเป็น 0.3
- ความน่าจะเป็นของค่าที่จะเป็น 7 ถูกกำหนดให้เป็น 0.6
- ความน่าจะเป็นสำหรับค่าที่จะเป็น 9 ถูกกำหนดเป็น 0
from numpy import random |
ผลลัพธ์
[7 7 5 7 7 7 7 7 3 5 7 5 5 5 7 7 7 5 7 7 3 7 7 7 7 7 7 7 7 7 7 3 7 7 3 7 7 3 7 7 7 5 5 7 7 7 5 3 5 3 3 7 5 3 7 3 7 5 3 5 7 5 7 3 3 7 7 5 7 5 7 7 7 7 7 7 7 7 5 7 7 7 5 7 7 7 7 5 5 7 5 5 7 3 7 7 7 5 3 7] |
ผลรวมของตัวเลขความน่าจะเป็นทั้งหมดควรเป็น 1 แม้ว่าคุณจะรันตัวอย่างด้านบน 100 ครั้งค่า 9 จะไม่เกิดขึ้น นักเรียนสามารถส่งคืนอาร์เรย์ของรูปร่างและขนาดใดก็ได้โดยการระบุรูปร่างในพารามิเตอร์ขนาด
ตัวอย่าง
ตัวอย่างเดียวกับด้านบน แต่ส่งกลับอาร์เรย์ 2 มิติด้วย 3 แถวแต่ละค่าจะมีค่า 5 ค่า
from numpy import random |
ผลลัพธ์
[[7 5 7 7 7] |
แปลจากhttps://www.w3schools.com/python/numpy_random_distribution.asp
Tag ที่น่าสนใจ: random_data_distribution probability_distribution numpy random.choice programming python statistics data_science
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com