NumPy は、Python で高速計算やデータ加工をスムーズに行うためのライブラリです。
ディープラーニングなどの人工知能や機械学習、
時系列分析など、データ分析や統計解析などでも頻繁に使われます。
NumPy を使いこなすことで、
複雑な演算を、サクッと実装でき、プログラミングが加速させることができます。
NumPyは、高次元データを扱うことが多いのですが、
- まずは1次元で試す
というステップを踏むのが有効です。
いきなり高次元データを扱うよりも、ミスが減り、デバッグを容易にしてくれます。
試しの1次元データでの計算には、
わかりやすい1次元データを使うのがより有効です。
1次元データの生成には、これまで
- 整数列を生成する方法(初期化)
を2話に分けて、ご紹介しました↓
これらは、基本的に整数や実数の規則的な数列の生成を行えます。
しかし、規則的な数列でない、ランダムなデータが必要な場合も多くあります。
例えば、人工知能やデータ分析、統計解析などです。
ランダムな値は、「乱数」とも呼ばれます。
特に、ある範囲の値が出る確率が同じ(一様)な状態から生成される乱数を、「一様乱数」と呼びます。
そこで本記事では、
データ分析や人工知能、統計解析などでも役立つ
NumPy での一様乱数の生成、初期化の方法
- np.random.rand
- np.random.randint
について、サクッと、わかりやすく、まとめます。
【Python NumPy random rand】ベクトル・行列の生成・初期化方法(7):1次元配列(ベクトル)・乱数数列の生成方法(random rand randint seed)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】
「NumPy」で浮動小数型の乱数の生成・初期化:(np.random.rand)
np.random.rand( ) で、浮動小数型の乱数を1個、生成できる
np.random.rand( ) を使うと、
- 0以上1未満の、浮動小数点型の乱数を1個、生成
することができます。
乱数なので、毎回違う値が生成されます。
確かめてみましょう。
確かに、3回とも違う乱数が生成されています。
np.random.rand(個数) で、実数乱数を個数個、生成できる
乱数を複数個生成したい場合には、
np.random.rand( 個数 )
として生成させることができます。
上の例では、np.random.rand(5) として、
5個の乱数(0以上1未満の範囲)を生成していることがわかります。
np.random.rand(行数、列数) で、実数乱数の行列を生成できる
np.random.rand(3, 2)のように、2つの数字を指定すると、
生成した乱数の行列を生成できます。
3が行数、2が列数に対応します。
ちなみに、行列の要素が乱数でなく、
- すべて0の行列
- すべて1行列
- 単位行列
を生成・初期化する方法は、以下の記事でまとめています。
『【Python NumPy】ベクトル・行列の生成・初期化方法(3):単位行列の生成( identity、eye)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】』
これまでは、毎回違う乱数が生成されていました。
毎回同じ乱数がほしい場合もあります。
そこで同じ乱数を生成する方法をご紹介します。
この先は会員限定になります。
会員の方はログインをお願いいたします。
登録がまだの方は、会員登録をお願いします。
>>> 会員登録はこちら
↓こちら無料で読めます