Menu
CoddyTech

Quy tắc điểm Z

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

Một trang trại cân 300 quả trứng, rồi tự nhập hai giá trị: 6.2 g và 94.6 g, cả hai đều bị nhập sai. Điểm z (khoảng cách tính từ giá trị trung bình, theo đơn vị độ lệch chuẩn) cho thấy điều đó:

Biểu đồ tần suất cân nặng của 300 quả trứng theo điểm z, tất cả đều nằm trong khoảng từ -3 đến 3, bên trong dải tô màu được đánh dấu là trong phạm vi 3 độ lệch chuẩn. Hai chấm đỏ nằm xa bên ngoài dải này: 6.2 g tại z = -9.9 và 94.6 g tại z = 6.3

np.abs loại bỏ dấu trừ, nên chỉ cần một phép so sánh để bắt cả hai phía:

rng = np.random.default_rng(3)
eggs = np.concatenate([rng.normal(60, 4, size=300), np.array([6.2, 94.6])])
z = (eggs - eggs.mean()) / eggs.std()
print(np.abs(np.array([-4, 2, -1])))
print(eggs[np.abs(z) > 3])

Kết quả in ra là:

[4 2 1]
[ 6.2 94.6]

Với dữ liệu có dạng hình chuông, 99.7% giá trị nằm trong phạm vi 3 std, vì vậy np.abs(z) > 3 đánh dấu các giá trị hiếm cần kiểm tra trước khi huấn luyện.

Nhưng một giá trị ngoại lai làm tăng độ lệch chuẩn được dùng để đo nó, nên mẫu nhỏ có thể che khuất giá trị này: hãy dùng quy tắc IQR trong trường hợp đó.

challenge icon

Thử thách

Trung bình

Cân của một tiệm bánh đã cân 250 ổ bánh mì vào loaves, và 3 ổ nữa được nhập bằng tay. Chương trình đọc một ngưỡng.

  1. Tính điểm z của từng ổ bánh mì bằng .mean() và .std() của mảng.
  2. Theo thứ tự vị trí, in ra từng ổ bánh mì có điểm z cách 0 một khoảng lớn hơn ngưỡng: vị trí, khối lượng (1 chữ số thập phân) và điểm z (2 chữ số thập phân).
  3. In ra số lượng ổ bánh mì bạn đã liệt kê.

Với một ngày khác và ngưỡng 3:

Loaf 200: 702.5 g, z = -5.38
Loaf 201: 889.3 g, z = 4.91
Loaves to re-weigh: 2

Tự làm thử

import numpy as np

# Đừng thay đổi các dòng bên dưới: 250 ổ bánh mì được cân bằng cân, sau đó nhập thủ công 3 giá trị khối lượng
rng = np.random.default_rng(25)
loaves = np.concatenate([rng.normal(800, 15, size=250), np.array([731.4, 868.9, 912.3])])
cutoff = float(input())

# 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