6 python numpy machine-learning scipy
如何在Python中生成均匀分布的[-1,1] ^ d数据?例如,d是一个像10的维度.
我知道如何生成均匀分布的数据,如np.random.randn(N),但维度的东西让我很困惑.
假设各个坐标的独立性,那么下面将生成一个随机点 [-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)
正如已经指出的,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个长度.