本文簡要介紹 python 語言中 numpy.random.RandomState.zipf
的用法。
用法:
random.RandomState.zipf(a, size=None)
從 Zipf 分布中抽取樣本。
樣本來自指定參數 a > 1 的 Zipf 分布。
Zipf 分布(也稱為 zeta 分布)是滿足 Zipf 定律的離散概率分布:一個項目的頻率與其在頻率表中的排名成反比。
注意
新代碼應改為使用
default_rng()
實例的zipf
方法;請參閱快速入門。- a: 浮點數或類似數組的浮點數
分布參數。必須大於 1。
- size: int 或整數元組,可選
輸出形狀。例如,如果給定的形狀是
(m, n, k)
,則繪製m * n * k
樣本。如果 size 為None
(默認),如果a
是標量,則返回單個值。否則,將抽取np.array(a).size
樣本。
- out: ndarray 或標量
從參數化 Zipf 分布中抽取樣本。
參數:
返回:
注意:
Zipf 分布的概率密度為
對於整數 ,其中 是黎曼 Zeta 函數。
它以美國語言學家喬治·金斯利·齊夫 (George Kingsley Zipf) 的名字命名,他指出,任何單詞在語言樣本中出現的頻率與其在頻率表中的排名成反比。
參考:
Zipf, G. K.,“語言中相對頻率原則的精選研究”,馬薩諸塞州劍橋:哈佛大學。出版社,1932 年。
1:
例子:
從分布中抽取樣本:
>>> a = 4.0 >>> n = 20000 >>> s = np.random.zipf(a, n)
顯示樣本的直方圖,以及基於概率密度函數的預期直方圖:
>>> import matplotlib.pyplot as plt >>> from scipy.special import zeta
bincount
為小整數提供快速直方圖。>>> count = np.bincount(s) >>> k = np.arange(1, s.max() + 1)
>>> plt.bar(k, count[1:], alpha=0.5, label='sample count') >>> plt.plot(k, n*(k**-a)/zeta(a), 'k.-', alpha=0.5, ... label='expected count') >>> plt.semilogy() >>> plt.grid(alpha=0.4) >>> plt.legend() >>> plt.title(f'Zipf sample, a={a}, size={n}') >>> plt.show()
相關用法
- Python numpy RandomState.standard_exponential用法及代碼示例
- Python numpy RandomState.bytes用法及代碼示例
- Python numpy RandomState.uniform用法及代碼示例
- Python numpy RandomState.standard_gamma用法及代碼示例
- Python numpy RandomState.seed用法及代碼示例
- Python numpy RandomState.power用法及代碼示例
- Python numpy RandomState.standard_normal用法及代碼示例
- Python numpy RandomState.geometric用法及代碼示例
- Python numpy RandomState.random_sample用法及代碼示例
- Python numpy RandomState.gumbel用法及代碼示例
- Python numpy RandomState.logseries用法及代碼示例
- Python numpy RandomState.noncentral_chisquare用法及代碼示例
- Python numpy RandomState.wald用法及代碼示例
- Python numpy RandomState.chisquare用法及代碼示例
- Python numpy RandomState.poisson用法及代碼示例
- Python numpy RandomState.randn用法及代碼示例
- Python numpy RandomState.vonmises用法及代碼示例
- Python numpy RandomState.gamma用法及代碼示例
- Python numpy RandomState.triangular用法及代碼示例
- Python numpy RandomState.f用法及代碼示例
- Python numpy RandomState.shuffle用法及代碼示例
- Python numpy RandomState.rayleigh用法及代碼示例
- Python numpy RandomState.randint用法及代碼示例
- Python numpy RandomState.permutation用法及代碼示例
- Python numpy RandomState.lognormal用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.random.RandomState.zipf。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。