密度ヒストグラム
CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 7/64。
この章では、データの形について学びます。章の終わりには、ヒストグラムにベルカーブを当てはめ、ほかと異なるものを見つけられるようになります。
まず、修正です。カウントを使うと、500人の大人と50人のゲーマーの反応時間を比べた場合のように、人数の多いグループが少ないグループを圧倒してしまいます。
density=Trueは各グループをスケーリングし、棒の面積の合計が1になるようにします:
ax.hist(adults, bins=16, density=True, alpha=0.5, label="adults")
ax.hist(gamers, bins=16, density=True, alpha=0.5, label="gamers")各高さは count / (n * bin width) なので、棒の面積はグループに占める割合を表します。これで、どのようなサイズのグループも公平に比較できます。
チャレンジ
簡単都市部の病院では新生児400人を、農村部の病院では60人を計測しました。スターターコードでは、体重がcityとruralに格納されており、タイトルとラベルが設定されたグラフも用意されています。
- 各グループの密度ヒストグラムを、
bins=10、alpha=0.5を指定し、ラベルにcityまたはruralを使って描きます。 - 凡例を追加し、グラフを表示します。
Coddyがグラフについて説明します。2人のトマト栽培者のデータを使ったこちらのグラフのようになるはずです。
自分で試してみよう
import numpy as np
import matplotlib.pyplot as plt
# 以下の行は変更しないでください
rng = np.random.default_rng(23)
city = np.round(rng.normal(3.4, 0.5, size=400), 2)
rural = np.round(rng.normal(3.2, 0.45, size=60), 2)
fig, ax = plt.subplots()
ax.set_title("Birth Weights")
ax.set_xlabel("Weight (kg)")
ax.set_ylabel("Density")
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
機械学習のための統計のすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ