LoginSignup
0
1

More than 5 years have passed since last update.

確率 epsilon で1を出力

Last updated at Posted at 2018-05-08

実施したいこと

確率$\epsilon, (0 \le \epsilon \le 1)$でランダムに1を出力する

コード

import numpy.random import *

## 0~1までの乱数を設定
tmp = rand()
if tmp <= epsilon:
  output = 1
else:
  output = 0
print(output)

とすれば、outputに確率$\epsilon$で$1$が入りますが、(library importを除き)1行で完結するには

import numpy as np

output = np.random.binomial(1,epsilon)

でOK.

検証

念のため、やっときましょう。

epsilon = 0.2
N = 100

tmp_list = []
for i in range(N):
    a = np.random.binomial(1, epsilon)
    tmp_list.append(a)

print(sum(tmp_list)/N) #0.22

みなさんもepsilonを他の値にかけてやってみて下さい。
ただ、サンプル数$N$が小さいと、結構ブレてしまうのは注意です。

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1