【Python NumPy random rand】ベクトル・行列の生成・初期化方法(7):1次元配列(ベクトル)・乱数数列の生成方法(random rand randint seed)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

python numpy np random rand randint seed 2 numpy

NumPy は、Python で高速計算やデータ加工をスムーズに行うためのライブラリです。

ディープラーニングなどの人工知能や機械学習、

時系列分析など、データ分析や統計解析などでも頻繁に使われます。

NumPy を使いこなすことで、

複雑な演算を、サクッと実装でき、プログラミングが加速させることができます。

NumPyは、高次元データを扱うことが多いのですが、

  • まずは1次元で試す

というステップを踏むのが有効です。

いきなり高次元データを扱うよりも、ミスが減り、デバッグを容易にしてくれます。

試しの1次元データでの計算には、

わかりやすい1次元データを使うのがより有効です。

 

1次元データの生成には、これまで

  • 整数列を生成する方法(初期化)

を2話に分けて、ご紹介しました↓

【Python NumPy arange】ベクトル・行列の生成・初期化方法(5):1次元配列(ベクトル)・数列の生成方法(range, arrange)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

 

【Python NumPy linspace】ベクトル・行列の生成・初期化方法(6):1次元配列(ベクトル)・数列の生成方法(linspace, arrange)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

 

これらは、基本的に整数や実数の規則的な数列の生成を行えます。

 

しかし、規則的な数列でない、ランダムなデータが必要な場合も多くあります。

例えば、人工知能やデータ分析、統計解析などです。

ランダムな値は、「乱数」とも呼ばれます。

特に、ある範囲の値が出る確率が同じ(一様)な状態から生成される乱数を、「一様乱数」と呼びます。

 

 

そこで本記事では、

データ分析や人工知能、統計解析などでも役立つ

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個、生成できる

Python numpy np random rand randint 1

np.random.rand(  ) を使うと、

  • 0以上1未満の浮動小数点型の乱数を1個、生成

することができます。

 

乱数なので、毎回違う値が生成されます。

確かめてみましょう。

Python numpy np random rand randint 2

確かに、3回とも違う乱数が生成されています。

 

 

np.random.rand(個数) で、実数乱数を個数個、生成できる

Python numpy np random rand randint 3

乱数を複数個生成したい場合には、

np.random.rand( 個数 )

として生成させることができます。

上の例では、np.random.rand(5) として、

5個の乱数(0以上1未満の範囲)を生成していることがわかります。

 

 

np.random.rand(行数、列数) で、実数乱数の行列を生成できる

Python numpy np random rand randint 4

np.random.rand(3, 2)のように、2つの数字を指定すると、

生成した乱数の行列を生成できます。

3が行数、2が列数に対応します。

ちなみに、行列の要素が乱数でなく、

  • すべて0の行列
  • すべて1行列
  • 単位行列

を生成・初期化する方法は、以下の記事でまとめています。

【Python NumPy】ベクトル・行列の生成・初期化方法(1):ゼロ行列 zeros、zeros_likeについて、サンプルコードとともに、サクッと、わかりやすく、まとめました【Python 入門】

 

【Python NumPy】ベクトル・行列の生成・初期化方法(2):すべて要素1の行列 ones、ones_likeについて、サンプルコードともに、サクッと、わかりやすく、まとめました【Python 入門】

 

【Python NumPy】ベクトル・行列の生成・初期化方法(3):単位行列の生成( identity、eye)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

 

 

 

これまでは、毎回違う乱数が生成されていました。

毎回同じ乱数がほしい場合もあります。

そこで同じ乱数を生成する方法をご紹介します。

 

 

この先は会員限定になります。

会員の方はログインをお願いいたします。

登録がまだの方は、会員登録をお願いします。

>>> 会員登録はこちら

 

 

↓こちら無料で読めます

 

コンテンツの残りを閲覧するにはログインが必要です。 お願い . あなたは会員ですか ? 会員について
error: Content is protected !!
タイトルとURLをコピーしました