Ngưỡng quyết định
Thuộc phần Học có giám sát trong hành trình Machine Learning của Coddy. Bài học 17 trên 58.
predict trả lời có khi xác suất vượt quá 0.5, ngưỡng threshold. Nhưng bỏ sót một màn hình lỗi có thể gây tốn kém hơn việc xem xét lại. Hạ ngưỡng xuống:
Cảnh báo giả (false alarm) là một màn hình bình thường bị đánh dấu. Hãy chọn ngưỡng riêng bằng một phép so sánh:
proba = model.predict_proba(X_test)[:, 1]
flag = proba >= 0.3 # True: kiểm tra màn hình nàyNgưỡng thấp hơn giúp phát hiện nhiều trường hợp thực tế hơn và tạo ra nhiều cảnh báo nhầm hơn; ngưỡng cao hơn thì ngược lại. Các xác suất không bao giờ thay đổi, chỉ có ngưỡng là khác.
Hãy chọn dựa trên cái giá phải trả cho mỗi sai lầm.
Thử thách
Trung bìnhMột hãng hàng không đặt lại vé cho những hành khách có khả năng lỡ chuyến nối chuyến trước khi họ hạ cánh. Phần code có sẵn huấn luyện một mô hình trên connections.csv và đọc một ngưỡng.
- Lấy xác suất lỡ chuyến nối chuyến của các hành khách trong tập kiểm tra.
- Với
0.5, rồi đến ngưỡng, hãy đếm số hành khách được đặt lại vé, số trường hợp lỡ chuyến thực sự được phát hiện (trong tổng số trường hợp lỡ chuyến) và số lần đặt lại vé không cần thiết. - In một dòng cho mỗi ngưỡng.
Với một hãng hàng không khác và 0.25:
Threshold 0.5: 9 rebooked, 7 of 15 misses caught, 2 needless rebookings
Threshold 0.25: 21 rebooked, 13 of 15 misses caught, 8 needless rebookingsTự làm thử
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# Mỗi hành khách một hàng: thời gian nối chuyến và thời gian chuyến bay đến bị trễ tính bằng phút, đổi terminal (1 hoặc 0), số hành lý ký gửi; missed là 1 hoặc 0
trips = pd.read_csv("connections.csv")
features = ["layover_min", "delay_min", "terminal_change", "checked_bags"]
X_train, X_test, y_train, y_test = train_test_split(trips[features], trips["missed"], test_size=0.25, random_state=0)
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
threshold = float(input())
# 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 Học có giám sát
1Mô hình đầu tiên của bạn
Học từ ví dụTập huấn luyện và tập kiểm traHuấn luyện và dự đoánChấm điểm mô hìnhÔn tập: Bộ sắp xếp hạt giống4Hồi quy logistic
Dự đoán có hoặc khôngNgưỡng quyết địnhTrọng số là bằng chứngNhiều lớpÔn tập: Bộ lọc thư rác2Láng giềng gần nhất
Cách k-NN đưa ra quyết địnhChọn kRanh giới quyết địnhChuẩn hóa dữ liệu cho láng giềngÔn tập: láng giềng với dữ liệu rượu vang5Đánh giá bộ phân loại
Ma trận nhầm lẫnĐộ chính xác và độ thu hồiĐiểm F1Các lớp mất cân bằngĐường cong ROCÔn tập: Bài kiểm tra sàng lọc11Dự án: Các loài chim cánh cụt
Làm quen với chim cánh cụtChuẩn bị dữ liệuChọn mô hìnhTinh chỉnh mô hình tốt nhấtĐưa mô hình vào sử dụng3Hồi quy tuyến tính
Dự đoán các con sốNhiều đặc trưngĐo lường sai sốBiểu đồ phần dưÔn tập: Thuê xe đạp6Cây quyết định
Cây đặt câu hỏiĐọc câyĐộ sâu của câyTầm quan trọng của đặc trưngÔn tập: quyết định cho vay9Các mô hình tổ hợp
Rừng ngẫu nhiênVì sao rừng hoạt động hiệu quảTăng cường độ dốcÔn tập: Người kiểm lâm rừng12Thử thách cuối cùng
Tiến triển của bệnh tiểu đườngPhê duyệt tín dụngChữ số viết tayKhách hàng rời bỏTự luyện tập: Trình biên dịch Python online