ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

np.random.choiceの使い方

np.random.choiceとは

np.random.choiceは、NumPyライブラリの一部であり、指定された配列やリストからランダムに要素を選択するために使用される関数です。

np.random.choiceの使用例

ランダムなサンプリング

与えられた配列からランダムに要素を選択する場合、np.random.choiceを使用できます。 例えば、1から10までの整数の中からランダムに3つの要素を選びたい場合

   import numpy as np

   numbers = np.arange(1, 11)  # 1から10までの整数の配列
   random_selection = np.random.choice(numbers, size=3, replace=False)
   print(random_selection)

出力例

   [5 3 9]
  • パラメータ sizeパラメータは、選択する要素の数を指定します。replace=Falseは、重複のないサンプリングを行うことを示しています。デフォルトでは、replace=Trueであり、重複が許されます。

確率分布に基づくサンプリング

要素の選択確率を与える重みを持つ場合、np.random.choiceを使用して確率分布に基づくサンプリングを行うことができます。重みはpパラメータを通じて指定されます。以下は、要素を選択する確率が異なる場合の例

   import numpy as np

   items = ['A', 'B', 'C', 'D']
   probabilities = [0.1, 0.3, 0.4, 0.2]
   random_selection = np.random.choice(items, size=2, p=probabilities)
   print(random_selection)

出力例

   ['C' 'D']

pパラメータは、各要素の選択確率を指定するリストや配列として与えられます。