توزیع یکنواخت (Uniform Distribution)
در این صفحه با توزیع یکنواخت در پایتون آشنا می شویم. توزیع یکنواخت در پایتون یعنی همه عددها در یک بازه، شانس تقریبا برابری برای انتخاب شدن دارند.
تعریف توزیع یکنواخت در پایتون
توزیع یکنواخت (Uniform Distribution) زمانی استفاده می شود که هر رخداد، شانس مساوی دارد. مثلا وقتی می خواهیم عددهای تصادفی در یک بازه بسازیم.
در نامپای برای ساخت این نوع داده، از تابع random.uniform() استفاده می کنیم. این تابع عددهای اعشاری تصادفی در یک بازه تولید می کند.
نکته: احتمال (Probability) یعنی شانس رخ دادن یک اتفاق. در توزیع یکنواخت این شانس برای همه عددهای داخل بازه تقریبا برابر است.
پارامترهای تابع random.uniform در NumPy
تابع random.uniform() سه پارامتر مهم دارد که در منبع توضیح داده شده است.
- low: کران پایین بازه است. مقدار پیش فرض آن 0.0 است.
- high: کران بالای بازه است. مقدار پیش فرض آن 1.0 است.
- size: شکل آرایه خروجی را مشخص می کند؛ مثلا 2 در 3.
وقتی low و high را ننویسی، توزیع یکنواخت در بازه 0 تا 1 ساخته می شود. این دقیقا همان چیزی است که در مثال منبع استفاده شده است.
ساخت نمونه توزیع یکنواخت با NumPy
در مثال منبع، یک نمونه 2x3 از توزیع یکنواخت ساخته می شود. یعنی یک آرایه دو ردیفی و سه ستونی از عددهای تصادفی بین 0 و 1.
from numpy import random
x = random.uniform(size=(2, 3))
print(x)
اگر این کد را چند بار اجرا کنی، هر بار عددهای جدیدی می بینی. اما هنوز همه آن ها بین 0 و 1 هستند، چون از توزیع یکنواخت همین بازه آمده اند.
برای مرور این مفهوم، می توانی بعدا به صفحه توزیع پواسون در پایتون هم سر بزنی و تفاوت نوع داده ها را ببینی.
نمایش نمودار توزیع یکنواخت با Seaborn
برای فهم بهتر توزیع یکنواخت در پایتون، رسم نمودار خیلی کمک می کند. در منبع، از کتابخانه های Matplotlib و Seaborn برای این کار استفاده شده است.
Matplotlib: یک کتابخانه است که نمودارهای گرافیکی در پایتون می سازد. Seaborn: روی Matplotlib سوار می شود و نمودارهای خوشگل تر و ساده تر می سازد.
from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns
sns.displot(random.uniform(size=1000), kind="kde")
plt.show()
در این کد، ابتدا هزار عدد از توزیع یکنواخت ساخته می شود. سپس با sns.displot روی آن ها یک منحنی توزیع کشیده می شود.
این منحنی نشان می دهد که عددها در بازه تقریبا پخش یکنواخت هستند. برای مقایسه، می توانی بعدا نمودار توزیع نرمال را در صفحه توزیع نرمال در پایتون ببینی و شکل زنگوله ای آن را با این نمودار مقایسه کنی.
تمرین گام به گام با توزیع یکنواخت در پایتون
برای اینکه توزیع یکنواخت در پایتون خوب در ذهنت بنشیند، این مراحل را انجام بده.
- کد مثال 2x3 را در ادیتور باز کن و چند بار اجرا کن.
- پارامتر
sizeرا به شکل های دیگر مثل(4, 4)عوض کن. - مقادیر
lowوhighرا مشخص کن؛ مثلا بین 5 و 10. - کد رسم نمودار را اجرا کن و شکل توزیع یکنواخت را تماشا کن.
- در پایان، یک بار دیگر این صفحه توزیع یکنواخت در پایتون را مرور کن تا نکته ای جا نماند.
جمع بندی سریع
- توزیع یکنواخت در پایتون یعنی همه عددهای بازه، شانس تقریبا برابر دارند.
- تابع
random.uniform()در نامپای، داده های یکنواخت می سازد. - پارامترهای مهم آن
low،highوsizeهستند. - بدون تنظیم low و high، عددها بین 0 و 1 تولید می شوند.
- با Seaborn می توانی توزیع یکنواخت در پایتون را به شکل نمودار ببینی.