0.5 chỉ là quy ước của hàm predict(), không phải kết quả tối ưu hoá. Ngưỡng đúng phụ thuộc chi phí của hai loại lỗi và tỷ lệ lớp, hai thứ mà mô hình không biết.
Cách chọn ngưỡng có căn cứ:
1. Lập bảng chi phí. Gán chi phí cho FP và FN theo đơn vị nghiệp vụ. Ví dụ duyệt vay: FN (cho vay khách xấu) mất 20 triệu, FP (từ chối khách tốt) mất 2 triệu lợi nhuận → chọn ngưỡng tối thiểu hoá tổng chi phí kỳ vọng, thường thấp hơn 0.5 nhiều.
2. Ràng buộc vận hành. Đội xử lý chỉ review được 200 hồ sơ/ngày → chọn ngưỡng sao cho số ca gắn cờ khớp năng lực, tức là chốt theo top-K chứ không theo xác suất.
3. Ràng buộc chỉ số. "Precision phải ≥ 0.8" → dò trên đường PR của tập validation lấy ngưỡng nhỏ nhất thoả điều kiện, rồi mới đo lại trên tập test.
Hai lưu ý quan trọng:
- Chọn ngưỡng trên tập validation, không phải tập test, nếu không con số báo cáo bị lạc quan.
- Nếu cần diễn giải xác suất như xác suất thật (tính tổn thất kỳ vọng, xếp hạng rủi ro) thì phải hiệu chuẩn (calibration). Random forest và SVM cho điểm số lệch; dùng CalibratedClassifierCV (Platt scaling hoặc isotonic) và kiểm bằng đường calibration.
Khi phân phối lớp trong production khác dữ liệu huấn luyện (do đã lấy mẫu lại lúc train), ngưỡng cũng phải điều chỉnh lại theo tỷ lệ thật.