d维中均匀分布的数据

6 python numpy machine-learning scipy

如何在Python中生成均匀分布的[-1,1] ^ d数据?例如,d是一个像10的维度.

我知道如何生成均匀分布的数据,如np.random.randn(N),但维度的东西让我很困惑.

don*_*mus 7

假设各个坐标的独立性,那么下面将生成一个随机点 [-1, 1)^d

np.random.random(d) * 2 - 1
Run Code Online (Sandbox Code Playgroud)

以下将生成n观察,其中每行是观察

np.random.random((n, d)) * 2 - 1
Run Code Online (Sandbox Code Playgroud)


Joe*_*ntz 6

正如已经指出的,randn产生正态分布数(也就是高斯数).为了统一分布,你应该使用"统一".

如果您只想要10个均匀分布数字的单个样本,您可以使用:

import numpy as np
x = np.random.uniform(low=-1,high=1,size=10)
Run Code Online (Sandbox Code Playgroud)

或者,如果您想一次生成它们(例如100个),那么您可以:

import numpy as np
X = np.random.uniform(low=-1,high=1,size=(100,10))
Run Code Online (Sandbox Code Playgroud)

现在X [0],X [1],......每个都有10个长度.