つまり、特定の線、おそらく2x +2に続く100サンプルのデータセットを作成しようとしているとします。また、X軸の値を0〜1000の範囲にします。これを行うために、私は以下を使用します。
X = np.random.random(100,1) * 1000
Y = (2*X) + 2
data = np.hstack(X,Y)
Hstackは、対応するx値とy値を持つ配列を提供します。その部分は機能します。しかし、データポイントをその2x + 2ラインからさらに遠ざけるためにノイズを注入したい場合は、それがわかりません。
たとえば、Y配列の標準偏差を20にしたいとします。そのノイズをy値にどのように注入しますか?
何かが足りないかもしれませんが、追加してみましたか numpy.random.normal
(scale=20,size=100)
からY
?あなたも書くことができます
Y=numpy.random.normal(2*X+2,20)
一度にすべてを実行します(配列サイズを繰り返さずに)。
ノイズをシミュレートするには、 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)))