標本分布
CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 21/64。
動画セッションの分布は右に歪んでいます。ほとんどは数分で終わりますが、数時間続くものもあります。それでも、40セッションからなる標本を1000個とったときの平均値は釣鐘型になります。
多くの標本平均のヒストグラムは標本分布です。各標本に十分な数の値があれば、データが歪んでいる場合でも、母平均を中心とした釣鐘型になります:
means = sample_means(sessions, 40, 1000) # Sample Means Vary で作成した関数
ax.hist(means, bins=12)これが中心極限定理です。これにより平均値を予測しやすくなります。テストセット全体におけるモデルの平均誤差も、おおよそ正規分布に従います。
チャレンジ
中級クラウドドライブにある6000個のファイルサイズを表すfiles(MB)は右に歪んだ分布です。文書が多く、動画は少数です。プログラムはサンプルサイズを読み込み、スターターコードにはsample_meansと2つのグラフがあります。
- そのサイズのサンプル平均を500個求めます。
- ファイルの平均値から中央値を引いた値を出力し、次にサンプル平均の値を出力します(小数点以下2桁)。
axs[0]にファイルのヒストグラムを、axs[1]にサンプル平均のヒストグラムを描画し、bins=12を指定して表示します。
別のドライブで60を指定した場合:
Files: mean - median = 25.28 MB
Sample means: mean - median = 0.55 MB次にCoddyが各グラフを報告します。0に近い差は、歪みがなくなったことを意味します。
自分で試してみよう
import numpy as np
import matplotlib.pyplot as plt
size = int(input())
# 以下の行は変更しないでください:ドライブ内の各ファイルのサイズ(MB単位)
rng = np.random.default_rng(21)
files = np.round(rng.random(6000) ** 4 * 300 + 5, 2)
# Sample Means Varyで作成した関数:count個の標本の平均値
def sample_means(data, size, count):
means = []
for i in range(count):
sample = rng.choice(data, size=size, replace=False)
means.append(sample.mean())
return np.array(means)
fig, axs = plt.subplots(1, 2)
axs[0].set_title("All Files")
axs[0].set_xlabel("File size (MB)")
axs[1].set_title("Sample Means")
axs[1].set_xlabel("Mean file size (MB)")
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
機械学習のための統計のすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ