فهرست سرفصل‌های NumPy
خانه (HOME) مقدمه (Intro) شروع کار (Getting Started) ساخت آرایه ها (Creating Arrays) ایندکس گذاری آرایه (Array Indexing) برش آرایه (Array Slicing) انواع داده (Data Types) کپی در برابر View (Copy vs View) شکل آرایه (Array Shape) تغییر شکل آرایه (Array Reshape) حلقه روی آرایه (Array Iterating) ترکیب آرایه ها (Array Join) تقسیم آرایه ها (Array Split) جستجو در آرایه (Array Search) مرتب سازی آرایه (Array Sort) فیلتر کردن آرایه (Array Filter) مقدمه تصادفی سازی (Random Intro) توزیع داده (Data Distribution) جابه جایی تصادفی (Random Permutation) ماژول Seaborn (Seaborn Module) توزیع نرمال (Normal Distribution) توزیع دوجمله ای (Binomial Distribution) توزیع پواسون (Poisson Distribution) توزیع یکنواخت (Uniform Distribution) توزیع لجستیک (Logistic Distribution) توزیع چندجمله ای (Multinomial Distribution) توزیع نمایی (Exponential Distribution) توزیع کای دو (Chi Square Distribution) توزیع ریلی (Rayleigh Distribution) توزیع پارتو (Pareto Distribution) توزیع زیف (Zipf Distribution) مقدمه ufunc (ufunc Intro) ساخت تابع ufunc (ufunc Create Function) حساب ساده با ufunc (ufunc Simple Arithmetic) گرد کردن اعشار با ufunc (ufunc Rounding Decimals) لگاریتم ها با ufunc (ufunc Logs) جمع ها با ufunc (ufunc Summations) حاصل ضرب ها با ufunc (ufunc Products) تفاضل ها با ufunc (ufunc Differences) کمترین مضرب مشترک با ufunc (ufunc Finding LCM) بزرگترین مقسوم علیه مشترک با ufunc (ufunc Finding GCD) توابع مثلثاتی با ufunc (ufunc Trigonometric) توابع هذلولوی با ufunc (ufunc Hyperbolic) عملیات مجموعه ای با ufunc (ufunc Set Operations) ویرایشگر (Editor) آزمون (Quiz) تمارین (Exercises) سرفصل دوره (Syllabus) برنامه مطالعه (Study Plan) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
NumPy

NumPy — توزیع چندجمله ای (Multinomial Distribution)

آخرین بروزرسانی: 1404/08/25

توزیع چندجمله ای (Multinomial Distribution)

اینجا با توزیع چندجمله ای در NumPy آشنا می شوی. توزیع چندجمله ای (Multinomial Distribution) حالتی است که نتیجه فقط دو حالت نیست. مثل وقتی که تاس می اندازی و شش حالت ممکن داریم.

توزیع چندجمله ای در NumPy چیست؟

توزیع چندجمله ای تعمیم توزیع دوجمله ای (Binomial Distribution) است. توزیع دوجمله ای فقط دو حالت دارد، مثل شیر یا خط. اما اینجا چند حالت مختلف داریم، مثل شش روی تاس یا گروه های مختلف گروه خونی.

در این توزیع می پرسیم اگر یک آزمایش چندبار تکرار شود، هر حالت چندبار رخ می دهد. مثلاً شش بار تاس می اندازیم، چندبار یک می آید، چندبار دو می آید و همین طور تا شش.

پارامترهای توزیع چندجمله ای در NumPy

تابع random.multinomial() سه پارامتر مهم دارد.

  • n: تعداد دفعات انجام آزمایش است.
  • pvals: لیست احتمال هر حالت است، مثل احتمال هر روی تاس.
  • size: شکل آرایه خروجی را مشخص می کند.

نکته: مجموع عددهای داخل pvals باید 1 شود. در مثال تاس، هر روی تاس احتمال برابر دارد، برای همین شش تا 1/6 استفاده شده است.

مثال: شبیه سازی پرتاب تاس با توزیع چندجمله ای

در مثال منبع، یک تاس شش رو را مدل می کنیم. آزمایش را شش بار تکرار می کنیم و می خواهیم ببینیم هر رو چندبار آمده است.

گام ها:

  1. کتابخانه random را از NumPy ایمپورت کن.
  2. تابع random.multinomial() را با n و pvals مناسب صدا بزن.
  3. خروجی را با print() چاپ کن و معنی عددها را بخوان.
from numpy import random

x = random.multinomial(n=6, pvals=[1/6, 1/6, 1/6, 1/6, 1/6, 1/6])

print(x)

مشاهده در ادیتور

نکته: خروجی یک مقدار تکی نیست، بلکه یک لیست عدد است. هر عدد می گوید آن حالت چندبار در این آزمایش تکرار شده است؛ یعنی برای هر pval یک مقدار جدا داریم.

نکته: چون این توزیع تعمیم دوجمله ای است، نمودارهای آن شبیه چند توزیع دوجمله ای روی هم هستند و شباهت کلی آن با توزیع نرمال هم مانند همان حالت دوجمله ای است.

اگر دوست داری قبل از این توزیع، حالت ساده تر را ببینی، به صفحه توزیع لجستیک در NumPy هم می توانی بعداً سر بزنی.

جمع بندی سریع توزیع چندجمله ای

برای مرور، این چند نکته را به خاطر بسپار. اگر لازم شد، صفحه توزیع چندجمله ای در NumPy را دوباره نگاه کن.

  • توزیع چندجمله ای وقتی است که بیش از دو حالت داریم.
  • پارامتر n تعداد تکرار آزمایش ها را مشخص می کند.
  • pvals لیست احتمال هر حالت است و مجموعش باید 1 شود.
  • خروجی برای هر حالت یک عدد می دهد، نه یک مقدار تکی.
  • مدل کردن پرتاب تاس یک مثال ساده از این توزیع است.