Numpy 齐夫分布

齐夫分布用于根据齐夫定律对数据进行采样。

齐夫定律:在一个集合中,第 n 个公共项是最公共项的 1/n 倍。英语中第五个常用词的出现次数几乎是最常用词的五分之一。

在 NumPy 中,使用 random.zipf()方法来进行齐夫分布。

它有两个参数:

  • a - 分布参数。
  • size - 返回数组的形状。
实例

绘制一个齐夫分布样本,分布参数 a 为 2,size 为 2x3:

  1. from numpy import random
  2. x = random.zipf(a=2, size=(2, 3))
  3. print(x)

可视化齐夫分布

采样 1000 个点,但仅绘制具有值的点 <10 对图表更有意义。

实例
  1. from numpy import random
  2. import matplotlib.pyplot as plt
  3. import seaborn as sns
  4. x = random.zipf(a=2, size=1000)
  5. sns.distplot(x[x<10], kde=False)
  6. plt.show()
结果

分类导航