NumPyのrandom.choice
関数は、配列からランダムに要素を選択するための強力なツールです。この関数は、以下のような形式で使用します。
numpy.random.choice(a, size=None, replace=True, p=None)
ここで、
– a
は1次元の配列または整数です。ndarrayの場合、その要素からランダムにサンプルが生成されます。整数の場合、サンプルはnp.arange(a)
で生成されるかのようにランダムに生成されます。
– size
はオプションで、出力の形状を指定します。たとえば、形状が(m, n, k)
の場合、m * n * k
個のサンプルが抽出されます。
– replace
はオプションで、サンプルが置換(重複)ありかなしであるかを指定します。デフォルトはTrue
で、これはa
の値が複数回選択できることを意味します。
– p
はオプションで、a
の各エントリに関連付けられた確率を指定します。指定しない場合、サンプルはa
のすべてのエントリに対して一様分布を仮定します。
以下に、いくつかの使用例を示します。
import numpy as np
# 配列からランダムに要素を選択
print(np.random.choice(5, 3)) # 例:[0, 3, 4]
# 非一様なランダムサンプルを生成
print(np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])) # 例:[3, 3, 0]
# 置換なしでランダムに要素を選択
print(np.random.choice(5, 3, replace=False)) # 例:[3,1,0]
# 置換なしで非一様なランダムサンプルを生成
print(np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])) # 例:[2, 3, 0]
# 任意の配列からランダムに要素を選択
aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
print(np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])) # 例:['pooh', 'pooh', 'pooh', 'Christopher', 'piglet']
これらの例は、numpy.random.choice
関数がどのように動作するかを示しています。この関数を使用すると、Pythonでランダムな選択を行うことが非常に簡単になります。これは、データサイエンスのプロジェクトで特に役立ちます。たとえば、データセットからランダムなサンプルを抽出したり、確率的なシミュレーションを実行したりする場合などです。.