فهرست سرفصل‌های 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 — توزیع لجستیک (Logistic Distribution)

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

توزیع لجستیک (Logistic Distribution)

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

توزیع لجستیک در NumPy چیست؟

توزیع لجستیک (Logistic Distribution) یک توزیع احتمالی است. توزیع احتمالی (Probability Distribution) یعنی قانونی که می گوید هر عدد چقدر شانس دارد. این توزیع معمولاً برای رشد جمعیت یا رشد کاربرهای یک برنامه استفاده می شود.

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

تابع random.logistic() در NumPy سه پارامتر مهم دارد:

  • loc: میانگین یا مرکز تپه است.
  • scale: شبیه انحراف معیار (Standard Deviation) است؛ یعنی پهنی تپه.
  • size: شکل و اندازه آرایه خروجی را مشخص می کند.

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

ساخت آرایه تصادفی با توزیع لجستیک

در این مثال یک آرایه 2×3 از توزیع لجستیک می سازیم. میانگین را 1 و scale را 2 می گذاریم. یعنی عددها بیشتر دور و بر 1 پخش می شوند.

گام ها:

  1. کتابخانه random را از NumPy ایمپورت کن.
  2. با random.logistic() آرایه تصادفی بساز.
  3. آرایه را با print() روی خروجی ببین.
from numpy import random

x = random.logistic(loc=1, scale=2, size=(2, 3))

print(x)

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

نکته: اگر loc را عوض کنی، کل تپه روی محور جابه جا می شود. اگر scale را بزرگ تر کنی، تپه پهن تر و تخت تر می شود.

نمایش توزیع لجستیک روی نمودار

دیدن عددها روی نمودار خیلی کمک می کند. اینجا با matplotlib و seaborn نمودار می کشیم. matplotlib یک کتابخانه رسم نمودار است. seaborn هم کتابخانه ای برای نمودارهای زیباتر در پایتون است.

گام ها:

  1. داده تصادفی با توزیع لجستیک بساز.
  2. با sns.displot چگالی داده را رسم کن.
  3. با plt.show() نمودار را نمایش بده.
from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

data = random.logistic(size=1000)

sns.displot(data, kind="kde")

plt.show()

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

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

مقایسه توزیع لجستیک و توزیع نرمال

تو در مدرسه احتمالاً توزیع نرمال (Normal Distribution) را می بینی. این همان منحنی زنگوله ای معروف است. توزیع لجستیک خیلی شبیه نرمال است، اما دم هایش چاق تر است. یعنی احتمال عددهای خیلی دور کمی بیشتر است.

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

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

data = {
  "normal": random.normal(scale=2, size=1000),
  "logistic": random.logistic(size=1000)
}

sns.displot(data, kind="kde")

plt.show()

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

نکته: وقتی scale بزرگ باشد، دو نمودار خیلی شبیه می شوند. تنها فرق اصلی قله و دم هاست.

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

جمع بندی سریع توزیع لجستیک

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

  • توزیع لجستیک در NumPy برای مدل کردن رشد و تغییرات سریع است.
  • پارامتر loc مرکز تپه و scale پهنی آن را تنظیم می کند.
  • با size می توانی شکل آرایه تصادفی را مشخص کنی.
  • این توزیع شبیه توزیع نرمال است، اما دم های چاق تر دارد.
  • برای درک بهتر، حتماً نمودارهای توزیع لجستیک را رسم و نگاه کن.