簡體   English   中英

numpy從線性函數生成數據

[英]numpy generate data from linear function

假設我想從線性函數生成100個左右的數據點,那么最好的方法是什么?

線性函數的示例y = 0.4*x + 3 + delta

其中delta是從-10和+10之間的均勻分布中抽取的隨機值

我希望為每個數據點生成delta,以對數據進行一些擾動。

import numpy as np

d = np.random.uniform(-10, 10)

這似乎符合三角洲的法案,雖然我不確定如何產生其余的納入這個。

我不知道你想如何生成x,但這會起作用:

In [7]: x = np.arange(100)

In [8]: delta = np.random.uniform(-10,10, size=(100,))

In [9]: y = .4 * x +3 + delta

在此輸入圖像描述

這完全取決於您想要評估函數的x值。 假設你想從-50到50繪制,只需使用x = np.arange(-50,50)但是你需要d = np.random.uniform(-10, 10, x.size)

然后運行你的函數: y = 0.4*x + 3 + delta

另一方面,如果你想要一個線性間隔的x你也可以使用np.linspace或對數間隔xnp.logspace

最后它看起來像:

x = np.linspace(0, 100, 1000) # 1000 values between 0 and 100
# x = np.arange(-50, 50) # -50, -49, ... 49, 50
delta = np.random.uniform(-10, 10, x.size)
y = 0.4*x + 3 + delta

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM