Xử lý giá trị ngoại lệ
Thuộc phần Thống kê cho machine learning trong hành trình Machine Learning của Coddy. Bài học 27 trên 64.
Mười căn hộ dùng khoảng 10 m³ nước mỗi căn, nhưng một chỗ rò rỉ khiến mức dùng tăng lên 64. Bạn có thể loại bỏ giá trị đó hoặc giới hạn nó ở hàng rào gần nhất:
np.clip(a, low, high) giới hạn toàn bộ một mảng:
water = np.array([8, 11, 9, 10, 12, 9, 64, 10, 11, 8])
low, high = 6.0, 14.0 # các ngưỡng IQR
dropped = water[(water >= low) & (water <= high)]
capped = np.clip(water, low, high)
print(len(dropped), len(capped))
print(capped)Kết quả in ra:
9 10
[ 8. 11. 9. 10. 12. 9. 14. 10. 11. 8.]Mô hình (model) sẽ cố khớp với giá trị phẳng duy nhất đó, vì vậy hãy quyết định trước khi huấn luyện. Sửa hoặc loại bỏ lỗi chính tả; giữ lại hoặc giới hạn các giá trị cực đoan có thật. Đừng âm thầm xóa dữ liệu: hãy cho biết bạn đã thay đổi bao nhiêu giá trị.
Thử thách
Trung bìnhỨng dụng đạp xe ghi lại tốc độ trung bình của 15 chuyến đi trong speeds; có hai giá trị trông bất thường. Phần code ban đầu đã lưu hai ngưỡng IQR vào low và high.
- Tạo
droppedgồm các tốc độ nằm trong hai ngưỡng, tính cả hai ngưỡng, và tạocapped. - In mỗi lựa chọn keep, drop và cap trên một dòng: số chuyến đi, tốc độ trung bình và
.std()của chúng, làm tròn đến 2 chữ số thập phân. - In số chuyến đi đã thay đổi khi giới hạn tốc độ.
Với 10 chuyến đi của một người đạp xe khác:
Keep: 10 rides, mean 21.38, std 6.58
Drop: 9 rides, mean 19.2, std 0.77
Cap: 10 rides, mean 19.45, std 1.04
Capping changed 1 of 10 ridesTự làm thử
import numpy as np
# Trả về ngưỡng IQR dưới và trên của một mảng (array)
def iqr_fences(a):
q1 = np.percentile(a, 25)
q3 = np.percentile(a, 75)
iqr = q3 - q1
return q1 - 1.5 * iqr, q3 + 1.5 * iqr
speeds = np.array([24.5, 22.8, 26.1, 23.9, 3.1, 25.4, 21.7, 24.2, 27.3, 78.4, 23.1, 25.8, 22.4, 24.9, 26.6])
low, high = iqr_fences(speeds)
# Viết code của bạn bên dưới
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
1Giá trị trung tâm và độ phân tán
Giá trị trung bình và trung vịPhân vị và tứ phân vịPhương sai và độ lệch chuẩnMẫu hay tổng thể?Giá trị xuất hiện nhiều nhấtÔn tập: Thời gian giao hàng4Mẫu và tổng thể
Tổng thể và mẫuTrung bình mẫu biến thiênPhân phối mẫuMẫu lớn hơn, ít nhiễu hơnÔn tập: khảo sát một thị trấn2Các phân phối
Biểu đồ tần suất mật độHình dạng của dữ liệuĐường cong chuẩnQuy tắc 68-95-99,7Điểm ZÔn tập: Thời lượng pin3Xác suất qua mô phỏng
Xác suất dưới dạng tần suấtLuật số lớnTổng điểm khi gieo xúc xắcGiá trị kỳ vọngXác suất có điều kiệnÔn tập: Tỷ lệ thắng ở quầy xúc xắc6Mối quan hệ
Đọc biểu đồ phân tánTương quanMa trận tương quanBản đồ nhiệt tương quanTương quan không đồng nghĩa với quan hệ nhân quảÔn tập: Kem và mặt trờiTự luyện tập: Trình biên dịch Python online