Menu
CoddyTech

頻度としての確率

CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 13/64。

迷惑メールフィルターには「迷惑メールの確率は90%」、種の袋には「発芽率は80%」と書かれています。確率とは、長期的に見た割合で、0(決してない)から1(必ずある)までの値です。ここに50個の種があります。

細胞のグリッドとして表示した50個の種:41個の濃い色の細胞は発芽し、x印の付いた9個の淡い色の細胞は発芽しなかった。確率0.8に対し、割合は0.82

rng.random(n)は0から1までの小数を生成し、そのうち80%は0.8未満になります。したがって、1回の比較で1000個の種をまけます。

rng = np.random.default_rng(3)
sprouted = rng.random(1000) < 0.8
print(sprouted.sum())
print(sprouted.mean())

これは次のように出力します:

814
0.814

真偽値の平均はTrueの割合です。0.814で、0.8に近い値です。この章の終わりまでに、この方法でサイコロ屋台全体の値段を算出します。

challenge icon

チャレンジ

中級

ストライカーがある確率でペナルティキックを決めます。プログラムは確率(0 から 1)を読み取り、次にキックの回数を読み取ります。スターターコードでは rng を作成します。

  1. キックをシミュレートします。rng.random の値が確率を下回るたびにゴールとします。
  2. ゴール数と、3 桁の小数に丸めた推定確率を出力します。

0.5 と 10 回のキックの場合、結果が 0.5 から大きく外れる短い実行例:

Goals: 3 of 10
Estimated chance: 0.3

自分で試してみよう

import numpy as np

chance = float(input())
kicks = int(input())

# 下の行を変更しないでください
rng = np.random.default_rng(21)

# 下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

機械学習のための統計のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ