กวดวิชาNumPy

NumPy HOME แนะนำ NumPy NumPy เริ่มต้นใช้งาน NumPy การสร้างอาร์เรย์ การจัดทำดัชนี NumPy Array NumPy Array Slicing ประเภทข้อมูล NumPy NumPy Copy เทียบกับ View NumPy Array Shape การปรับรูปร่าง NumPy Array NumPy Array Iterating NumPy Array เข้าร่วม NumPy Array Split ค้นหาอาร์เรย์ NumPy NumPy Array Sort ตัวกรองอาร์เรย์ NumPy

NumPyสุ่ม

สุ่มอินโทร การกระจายข้อมูล การเรียงสับเปลี่ยนแบบสุ่ม โมดูล Seaborn การกระจายแบบปกติ การกระจายทวินาม จำหน่ายปลา กระจายสม่ำเสมอ การกระจายโลจิสติกส์ การกระจายพหุนาม การกระจายแบบเอกซ์โพเนนเชียล จิสแควร์ ดิสทริบิวชั่น การกระจาย Rayleigh พาเรโต้ ดิสทริบิวชั่น การกระจาย Zipf

NumPy ufunc

ufunc Intro ufunc สร้างฟังก์ชัน ufunc เลขคณิตอย่างง่าย ufunc การปัดเศษทศนิยม ufunc บันทึก ufunc ผลรวม ufunc ผลิตภัณฑ์ ufunc ความแตกต่าง ufunc ค้นหา LCM ufunc กำลังหา GCD ufunc ตรีโกณมิติ ufunc ไฮเปอร์โบลิก ufunc Set Operations

แบบทดสอบ/แบบฝึกหัด

แบบทดสอบ NumPy แบบฝึกหัด NumPy

การกระจายทวินาม


การกระจายทวินาม

การกระจายแบบทวินามคือการ แจกแจง แบบไม่ต่อเนื่อง

มันอธิบายผลลัพธ์ของสถานการณ์ไบนารี เช่น การโยนเหรียญ มันจะเป็นหัวหรือก้อย

มันมีสามพารามิเตอร์:

n- จำนวนการทดลองใช้

p- ความน่าจะเป็นที่จะเกิดขึ้นของการทดลองแต่ละครั้ง (เช่น สำหรับการโยนเหรียญ 0.5 แต่ละครั้ง)

size- รูปร่างของอาร์เรย์ที่ส่งคืน

การแจกแจงแบบแยกส่วน:การแจกแจงถูกกำหนดไว้ที่ชุดเหตุการณ์ที่แยกจากกัน เช่น ผลการโยนเหรียญจะไม่ต่อเนื่อง เนื่องจากสามารถเป็นหัวหรือก้อยได้เท่านั้น ส่วนความสูงของคนจะต่อเนื่องกัน เช่น 170, 170.1, 170.11 เป็นต้น

ตัวอย่าง

ให้ 10 การทดลองสำหรับการโยนเหรียญสร้าง 10 จุดข้อมูล:

from numpy import random

x = random.binomial(n=10, p=0.5, size=10)

print(x)

การแสดงภาพการกระจายทวินาม

ตัวอย่าง

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

sns.distplot(random.binomial(n=10, p=0.5, size=1000), hist=True, kde=False)

plt.show()

ผลลัพธ์


ความแตกต่างระหว่างการแจกแจงแบบปกติและแบบทวินาม

ความแตกต่างที่สำคัญคือการแจกแจงแบบปกติต่อเนื่องในขณะที่ทวินามไม่ต่อเนื่อง แต่ถ้ามีจุดข้อมูลเพียงพอก็จะค่อนข้างคล้ายกับการแจกแจงแบบปกติที่มีตำแหน่งและสเกลที่แน่นอน

ตัวอย่าง

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

sns.distplot(random.normal(loc=50, scale=5, size=1000), hist=False, label='normal')
sns.distplot(random.binomial(n=100, p=0.5, size=1000), hist=False, label='binomial')

plt.show()

ผลลัพธ์