给numpy数组增加噪音

MPe*_*eal 5 python arrays numpy vector noise

可以这么说,我正在尝试创建一个遵循一定行(可能是2x + 2)的100个样本的数据集。我希望X轴上的值范围为0-1000。为此,我使用以下内容。

X = np.random.random(100,1) * 1000
Y = (2*X) + 2
data = np.hstack(X,Y)
Run Code Online (Sandbox Code Playgroud)

hstack为我提供了具有相应x和y值的数组。那部分起作用。但是,如果我想向其中注入噪声以使数据点更远离2x + 2线,那是我无法弄清的。

举例来说,我希望Y数组的标准偏差为20。如何将这些噪声注入y值?

Dav*_*ing 5

也许我失去了一些东西,但你有没有尝试添加到?你甚至可以写numpy.random.normal(scale=20,size=100)Y

Y=numpy.random.normal(2*X+2,20)
Run Code Online (Sandbox Code Playgroud)

并立即执行所有操作(并且无需重复数组大小)。


Bil*_*ill 5

要模拟噪声,请使用正态分布随机数生成器,例如np.random.randn

这是您想要做的吗:

X = np.linspace(0, 1000, 100)
Y = (2*X) + 2 + 20*np.random.randn(100)
data = np.hstack((X.reshape(100,1),Y.reshape(100,1)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述