from numpy import random
numpy.random.uniform(low = 0.0、high = 1.0、size = None)
一様分布に準拠したサイズの浮動小数点数を生成します。値の範囲は[low、high)で、デフォルトの値の範囲は[0、1.0)です。
>>> random.uniform()
0.3999807403689315
>>> random.uniform(size=1)
array([0.55950578])
>>> random.uniform(5, 6)
5.293682668235986
>>> random.uniform(5, 6, size=(2,3))
array([[5.82416021, 5.68916836, 5.89708586],
[5.63843125, 5.22963754, 5.4319899 ]])
numpy.random.rand(d0、d1、...、dn)
(d0、d1、...、dn)次元配列を生成します。配列の要素は[0、1)の一様分布から取得されます。パラメーター入力がない場合は、数値が生成されます。
>>> random.rand()
0.4378166124207712
>>> random.rand(1)
array([0.69845956])
>>> random.rand(3,2)
array([[0.15725424, 0.45786148],
[0.63133098, 0.81789056],
[0.40032941, 0.19108526]])
>>> random.rand(3,2,1)
array([[[0.00404447],
[0.3837963 ]],
[[0.32518355],
[0.82482599]],
[[0.79603205],
[0.19087375]]])
numpy.random.randint(low、high = None、size = None、dtype = 'I')
サイズ整数を生成します。値の範囲は[low、high)です。入力パラメーターhighがない場合、値の範囲は[0、low)です。
>>> random.randint(8)
5
>>> random.randint(8, size=1)
array([1])
>>> random.randint(8, size=(2,2,3))
array([[[4, 7, 0],
[1, 4, 1]],
[[2, 2, 5],
[7, 6, 4]]])
>>> random.randint(8, size=(2,2,3), dtype='int64')
array([[[5, 5, 6],
[2, 7, 2]],
[[2, 7, 6],
[4, 7, 7]]], dtype=int64)
numpy.random.random_integers(low、high = None、size = None)
サイズ整数を生成します。値の範囲は[low、high]です。入力パラメーターhighがない場合、値の範囲は[1、low]です。左右が閉じた範囲であることに注意してください。
>>> random.random_integers(5)
1
>>> random.random_integers(5, size=1)
array([2])
>>> random.random_integers(4, 5, size=(2,2))
array([[5, 4],
[4, 4]])
numpy.random.random(size = None)
(0.0、1.0)の間の浮動小数点数を生成します
>>> random.random(5)
array([0.94128141, 0.98725499, 0.48435957, 0.90948135, 0.40570882])
>>> random.random()
0.49761416226728084
同じ使用法:
- numpy.random.random_sample
- numpy.random.ranf
- numpy.random.sample(繰り返しサンプリングではありません)
numpy.random.bytes(length)
ランダムバイトを生成する
>>> random.bytes(1)
b'%'
>>> random.bytes(2)
b'\xd0\xc3'
numpy.random.choice(a、size = None、replace = True、p = None)
(配列)からサイズ(次元)の乱数を選択します。replace= Trueは繰り返し可能な抽出を意味し、pはaの各数値の確率です。
aが整数の場合、aで表される配列はarange(a)です。
>>> random.choice(5)
3
>>> random.choice([0.2, 0.4])
0.2
>>> random.choice([0.2, 0.4], p=[1, 0])
0.2
>>> random.choice([0.2, 0.4], p=[0, 1])
0.4
>>> random.choice(5, 5)
array([1, 2, 4, 2, 4])
>>> random.choice(5, 5, False)
array([2, 0, 1, 4, 3])
>>> random.choice(100, (2, 3, 5), False)
array([[[43, 81, 48, 2, 8],
[33, 79, 30, 24, 83],
[ 3, 82, 97, 49, 98]],
[[32, 12, 15, 0, 96],
[19, 61, 6, 42, 60],
[ 7, 93, 20, 18, 58]]])
numpy.random.permutation(x)
xの要素をランダムにシャッフルします。xが整数の場合、arange(x)をスクランブルし、xが配列の場合、copy(x)の最初のインデックスをスクランブルします。つまり、xを最初にコピーし、コピーをスクランブルし、配列の最初の次元に対してのみスクランブルします。
>>> random.permutation(5)
array([1, 2, 3, 0, 4])
>>> random.permutation(5)
array([1, 4, 3, 2, 0])
>>> random.permutation([[1,2,3],[4,5,6]])
array([[1, 2, 3],
[4, 5, 6]])
>>> random.permutation([[1,2,3],[4,5,6]])
array([[4, 5, 6],
[1, 2, 3]])
numpy.random.shuffle(x)
順列と同様に、xの要素はランダムにシャッフルされます。xが整数の場合、arange(x)はシャッフルされますが、シャッフルはxを変更します
>>> a = arange(5)
>>> a
array([0, 1, 2, 3, 4])
>>> random.permutation(a)
array([1, 4, 3, 2, 0])
>>> a
array([0, 1, 2, 3, 4])
>>> random.shuffle(a)
>>> a
array([4, 1, 3, 2, 0])
numpy.random.seed(seed = None)
ランダム生成アルゴリズムの初期値を設定します
関数分布に準拠するその他の乱数関数
- numpy.random.beta
- numpy.random.binomial
- numpy.random.chisquare
- numpy.random.dirichlet
- numpy.random.exponential
- numpy.random.f
- numpy.random.gamma
- numpy.random.geometric
- numpy.random.gumbel
- numpy.random.hypergeometric
- numpy.random.laplace
- numpy.random.logistic
- numpy.random.lognormal
- numpy.random.logseries
- numpy.random.multinomial
- numpy.random.multivariate_normal
- numpy.random.negative_binomial
- numpy.random.noncentral_chisquare
- numpy.random.noncentral_f
- numpy.random.normal
- numpy.random.pareto
- numpy.random.poisson
- numpy.random.power
- numpy.random.randn
- numpy.random.rayleigh
- numpy.random.standard_cauchy
- numpy.random.standard_exponential
- numpy.random.standard_gamma
- numpy.random.standard_normal
- numpy.random.standard_t
- numpy.random.triangular
- numpy.random.vonmises
- numpy.random.wald
- numpy.random.weibull
- numpy.random.zipf
Matlab、Python、C ++でプログラミング、機械学習、コンピュータービジョン理論の実現とガイダンス、学部と修士の両方の学位、塩漬け魚の取引、専門家の回答をご覧ください。詳細については、QQ番号757160542にお問い合わせください。