Menu
CoddyTech

Xác suất dưới dạng tần suất

Thuộc phần Thống kê cho machine learning trong hành trình Machine Learning của Coddy. Bài học 13 trên 64.

Bộ lọc thư rác báo “90% là thư rác”; gói hạt giống ghi “80% nảy mầm”. Xác suất là tỷ lệ trong dài hạn, từ 0 (không bao giờ) đến 1 (luôn luôn). Đây là 50 hạt giống:

50 hạt giống được xếp thành một lưới ô: 41 ô tối màu đã nảy mầm và 9 ô màu nhạt được đánh dấu x chưa nảy mầm, tỷ lệ là 0.82 với xác suất 0.8

rng.random(n) tạo ra các số thập phân từ 0 đến 1, và 80% trong số đó nhỏ hơn 0.8. Vậy chỉ cần một phép so sánh để gieo 1000 hạt giống:

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

Kết quả in ra:

814
0.814

Giá trị trung bình của các giá trị boolean là tỷ lệ giá trị True: 0.814, gần 0.8. Đến cuối chương này, mẹo đó sẽ giúp định giá cả một quầy xúc xắc.

challenge icon

Thử thách

Trung bình

Một cầu thủ sút phạt đền và ghi bàn với một xác suất nào đó. Chương trình đọc xác suất (từ 0 đến 1), rồi đọc số lần sút; phần code khởi tạo rng.

  1. Mô phỏng các lần sút: ghi bàn mỗi khi giá trị lấy từ rng.random nhỏ hơn xác suất.
  2. In số bàn thắng và xác suất ước tính, làm tròn đến 3 chữ số thập phân.

Với 0.5 và 10 lần sút, một lần chạy ngắn có kết quả lệch xa 0.5:

Goals: 3 of 10
Estimated chance: 0.3

Tự làm thử

import numpy as np

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

# Đừng thay đổi dòng bên dưới
rng = np.random.default_rng(21)

# Viết code của bạn bên dưới
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Thống kê cho machine learning

Tự luyện tập: Trình biên dịch Python online