またデータ分析や機械学習では、ランダムな数値を含む配列の作成も必要になる時があります。NumPyではこれらの配列も自動作成する方法がいくつかあります。
発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
NumPyでの一様な乱数の自動生成(random.rand)
random.randで、0〜1の一様な乱数を自動生成することができます。また引数を指定すれば、指定された数の乱数を生成することができます。
まず初めに1個のランダムな数値を作成してみます。
次に10個のランダムな数値で構成される配列を作成してみましょう。
0.16062229, -0.32005524, -1.06643131, -0.65708759, 0.12498622])
ランダムな数値で3×4行列を作成する場合、引数に3,4を指定します。
[ 0.20152048, 1.42848062, 0.61080922, -0.60720251],
[ 1.29016664, 0.35683667, -1.07647741, -0.71999436]])
NumPyでの標準正規分布に従う一様な乱数の自動生成(random.randn)
random.randnで、平均が0で標準偏差が1の標準正規分布に従う0〜1の一様な乱数を自動生成することができます。
また平均、分散を指定したい場合は、normalを利用します。
引数は省略することもできます。その場合、平均は0.0、分散は1.0、出力件数は1件で出力されます。
標準正規分布に従う10個の乱数で構成される配列を作成します。
2.25031808, 0.46432126, -0.46028787, 1.37601119, 1.6032506 ])
平均が50で分散が10の正規分布に従う乱数を10個出力してみます。
55.71524254, 44.10703383, 43.9838072 , 55.24751182,
48.81316645, 52.48095133])
発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
NumPyでの指定範囲の整数の乱数自動生成(random.randint)
指定した範囲の整数の乱数を作成する場合、random.randintを利用します。
開始値 〜 終了値までの間で、出力件数分の整数を自動生成することができます。
出力件数はタプルで指定することもでき、その場合は、指定された形式の配列を作成します。
開始値、出力件数は省略することも可能です。その場合は、開始値は0から、出力件数は1件とみなされます。
また終了値はインデックスと同様、その数値は含まれません。
1~99までの間の整数を10件出力してみましょう。
1~99までの間の整数で3×4行列を出力してみましょう。
[ 91, 67, 28, 71],
[ 55, 72, 82, 7]])
NumPyでの乱数の固定(random.seed)
乱数を用いる分析や処理において、再現性が必要な場合など、発生させる乱数をあらかじめ固定したい場合があります。その場合にseedを用いると、発生させる乱数を固定することができます。
引数に整数を指定することで、同じ整数を指定した場合、同じ乱数が生成されます。
シードを指定した場合、しなかった場合の一連の例を見ていきましょう。
まずシードを100に設定し、乱数を1つ生成します。
...:
np.random.randn()
次に何も指定しないで乱数を生成すると、先ほどと異なる乱数が生成されます。
最後に、先ほどと同じシード100を設定し、再度乱数を生成すると同じものが生成されることがわかります。
...:
np.random.randn()
著書の紹介です。