Numpy 齐夫分布
齐夫分布用于根据齐夫定律对数据进行采样。
齐夫定律:在一个集合中,第 n 个公共项是最公共项的 1/n 倍。英语中第五个常用词的出现次数几乎是最常用词的五分之一。
在 NumPy 中,使用 random.zipf()方法来进行齐夫分布。
它有两个参数:
- a - 分布参数。
- size - 返回数组的形状。
实例
绘制一个齐夫分布样本,分布参数 a 为 2,size 为 2x3:
from numpy import randomx = random.zipf(a=2, size=(2, 3))print(x)
可视化齐夫分布
采样 1000 个点,但仅绘制具有值的点 <10 对图表更有意义。
实例
from numpy import randomimport matplotlib.pyplot as pltimport seaborn as snsx = random.zipf(a=2, size=1000)sns.distplot(x[x<10], kde=False)plt.show()
结果
