Menu
CoddyTech

Histogramy gęstości

Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 7 z 64.

Ten rozdział dotyczy kształtu danych. Po jego ukończeniu dopasujesz krzywą dzwonową do histogramu i wskażesz element odstający:

Histogram przedstawiający masy 300 melonów, z nałożoną gładką pomarańczową krzywą dzwonową i czerwoną kropką pod najlżejszym melonem

Najpierw poprawka. Liczebności sprawiają, że duża grupa przyćmiewa małą, tak jak czasy reakcji 500 dorosłych przyćmiewają czasy 50 graczy:

Dwa wykresy przedstawiające te same czasy reakcji. Po lewej liczebności: 500 dorosłych przyćmiewa 50 graczy, których słupki są ledwo widoczne. Po prawej density=True: obie grupy są w pełni widoczne; gracze reagują szybciej, a ich wyniki są bardziej skupione

density=True skaluje każdą grupę tak, aby pola jej słupków sumowały się do 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")

Każda wysokość wynosi count / (n * bin width), więc pole słupka odpowiada jego udziałowi w grupie. Grupy dowolnej wielkości można teraz uczciwie porównywać.

challenge icon

Wyzwanie

Łatwy

Szpital miejski zważył 400 noworodków, a wiejski — 60. W kodzie startowym wagi są przechowywane w zmiennych city i rural, a wykres z tytułem i etykietami jest już przygotowany.

  1. Narysuj histogram gęstości dla każdej grupy, używając bins=10, alpha=0.5 oraz etykiety city lub rural.
  2. Dodaj legendę i wyświetl wykres.

Coddy opisuje Twój wykres. Powinien wyglądać tak jak ten, przedstawiający dwóch hodowców pomidorów:

Dwa przezroczyste histogramy gęstości zatytułowane „Wagi pomidorów”: pomidory z farmy ważą od około 90 do 200 gramów, pomidory z ogrodu są lżejsze, a większość waży od 95 do 145 gramów; widoczna jest legenda

Spróbuj swoich sił

import numpy as np
import matplotlib.pyplot as plt

# Nie zmieniaj poniższych wierszy
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")

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Statystyka w uczeniu maszynowym

Poćwicz samodzielnie: Kompilator Python online