Menu
CoddyTech

Prawdopodobieństwo jako częstość

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

Filtr antyspamowy mówi „90% spamu”; opakowanie nasion informuje, że „kiełkuje 80%”. Prawdopodobieństwo to udział w długim okresie, od 0 (nigdy) do 1 (zawsze). Oto 50 nasion:

50 nasion przedstawionych jako siatka komórek: 41 ciemnych komórek wykiełkowało, a 9 jasnych komórek oznaczonych x nie wykiełkowało, co daje udział 0.82 przy prawdopodobieństwie 0.8

rng.random(n) losuje liczby dziesiętne z przedziału od 0 do 1, a 80% z nich jest mniejszych niż 0.8. Wystarczy więc jedno porównanie, aby zasadzić 1000 nasion:

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

To wypisuje:

814
0.814

Średnia wartości logicznych to udział wartości True: 0.814, bliski 0.8. Pod koniec tego rozdziału ta sztuczka pozwoli wycenić całe stoisko z kośćmi do gry.

challenge icon

Wyzwanie

Średni

Napastnik strzela rzut karny z pewnym prawdopodobieństwem. Program odczytuje prawdopodobieństwo (od 0 do 1), a następnie liczbę strzałów; kod początkowy tworzy rng.

  1. Symuluj strzały: gol pada, gdy losowanie rng.random jest mniejsze od prawdopodobieństwa.
  2. Wypisz liczbę goli i oszacowane prawdopodobieństwo, zaokrąglone do 3 miejsc po przecinku.

Dla 0.5 i 10 strzałów krótka symulacja, w której wynik mocno odbiega od 0.5:

Goals: 3 of 10
Estimated chance: 0.3

Spróbuj swoich sił

import numpy as np

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

# Nie zmieniaj poniższej linii
rng = np.random.default_rng(21)

# 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