Trong nhiều dự án Machine Learning, có một kiểu lỗi rất dễ bị bỏ qua: rò rỉ dữ liệu. Đây là tình huống mô hình vô tình được tiếp cận thông tin mà trong thực tế nó không thể biết tại thời điểm dự đoán. Kết quả là điểm đánh giá trên validation hoặc test set có thể rất cao, nhưng khi triển khai thật thì hiệu năng giảm mạnh. Ví dụ đơn giản: bạn xây dựng mô hình dự đoán khách hàng có hủy dịch vụ trong tháng tới hay không. Nếu trong dữ liệu huấn luyện có cột “ngày đóng tài khoản” hoặc “lý do hủy”, mô hình sẽ học rất tốt, nhưng đó là thông tin chỉ xuất hiện sau khi khách hàng đã hủy. Khi dùng để dự đoán sớm, các cột này không tồn tại hoặc không hợp lệ. Một ví dụ khác trong bài toán tín dụng: dự đoán khả năng khách hàng trả nợ đúng hạn. Nếu bạn đưa vào đặc trưng “số ngày trả trễ thực tế” hoặc “trạng thái khoản vay sau 90 ngày”, mô hình gần như được cho đáp án. Điểm AUC, accuracy có thể rất đẹp, nhưng không phản ánh năng lực dự đoán trước thời điểm ra quyết định. Một số dạng rò rỉ dữ liệu thường gặp: - Rò rỉ từ tương lai: dùng thông tin chỉ phát sinh sau thời điểm dự đoán. - Rò rỉ do tiền xử lý sai: chuẩn hóa, impute missing value hoặc chọn đặc trưng trên toàn bộ dữ liệu trước khi chia train/test. - Rò rỉ giữa các bản ghi liên quan: cùng một người dùng, thiết bị, đơn hàng hoặc tài liệu xuất hiện cả ở train và test. - Rò rỉ qua nhãn phụ: một cột không phải nhãn chính nhưng được tạo ra trực tiếp từ nhãn hoặc từ quy trình hậu xử lý. Để hạn chế lỗi này, hãy bắt đầu bằng câu hỏi: “Tại thời điểm mô hình đưa ra dự đoán, thông tin này đã tồn tại chưa?” Nếu câu trả lời là chưa, đặc trưng đó cần bị loại bỏ hoặc được thiết kế lại. Một vài lời khuyên có thể áp dụng ngay: - Chia dữ liệu theo thời gian nếu bài toán có yếu tố thời gian, thay vì chia ngẫu nhiên. - Đưa toàn bộ bước tiền xử lý vào pipeline và chỉ fit trên tập train. - Nếu dữ liệu có nhóm tự nhiên như user_id, company_id, patient_id, hãy cân nhắc group split để tránh cùng một thực thể xuất hiện ở cả train và test. - Kiểm tra các đặc trưng có độ tương quan bất thường với nhãn. Tương quan cao không phải lúc nào cũng sai, nhưng là tín hiệu cần điều tra. - Viết tài liệu cho từng đặc trưng: nguồn dữ liệu, thời điểm phát sinh, cách tính và có dùng được tại thời điểm dự đoán hay không. Trong các dự án thực tế, rò rỉ dữ liệu không phải lúc nào cũng lộ rõ như một cột “đáp án”. Nó có thể nằm trong cách tổng hợp dữ liệu, cách lọc mẫu, hoặc cách tạo biến thống kê. Vì vậy, đánh giá mô hình không chỉ là chạy metric, mà còn là kiểm tra tính hợp lệ của toàn bộ quy trình tạo dữ liệu. Một mô hình có điểm số thấp hơn một chút nhưng được đánh giá đúng điều kiện thực tế thường đáng tin hơn mô hình có kết quả quá đẹp nhưng dựa trên thông tin không thể sử dụng khi triển khai. Với Machine Learning, trung thực trong thiết kế dữ liệu là nền tảng trước khi nói đến thuật toán phức tạp hơn.