Python/numpy random zipf

来自菜鸟教程
跳转至:导航、​搜索

<languages />

Zipf分布

Zipf分布用于根据zipf定律对数据进行采样。

齐普夫定律: 在集合中,第n个常用项是最常用项的1 / n倍。E.g.英语中的第5个普通单词是最常用单词的近1/5倍。


它有两个参数:

a -分布参数。

size -返回数组的形状。

绘制一个样本,用于zipf分发,分发参数为2,大小为2x3:

  from numpy import random

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

print(x)

Zipf分布的可视化

采样1000个点,但仅绘制值<10的点才能获得更有意义的图表。

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


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

plt.show()

结果

文件:Zipf1.png