NumPy -Zipf Distribution

توزیع زیف

توزیع زیف (zipf's distribution) جهت نمونه برداری از داده‌ها بر اساس قانون زیف به کار می‌رود.

قانون زیف: در یک مجموعه، nامین عبارت رایج 1/n برابر رایج ترین عبارت است. به عنوان مثال، پنجمین کلمه رایج در انگلیسی تقریباً 1/5 برابر رایج ترین کلمه رخ می‌دهد.

تابع شیء random.zipf() دارای 2 پارامتر است:

  • a - پارامتر توزیع (distribution parameter)
  • size - اندازه آرایه برگردانده شده.

from numpy import random

x = random.zipf(a=2, size=(2, 3))

print(x)

خروجی:

رسم نمودار توزیع زیف

نمونه برداری از 1000 نقطه ولی نشان دادن نقاطی که دارای مقدار کمتر از 10 هستند تا نمودار با معناتری داشته باشیم.


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

x = random.zipf(a=2, size=1000)
sns.displot(x[x<10])

plt.show()

خروجی: