Lời mở đầu Trong Machine Learning, thuật toán hiếm khi là vấn đề. Dữ liệu và cách biểu diễn dữ liệu mới là yếu tố quyết định. Bài viết này phân tích một mô hình Binary Classification đơn giản trong ML.NET để chỉ ra: Vì sao Accuracy có thể gây hiểu nhầm Vì sao Recall 100% có thể là dấu hiệu nguy hiểm Vì sao Feature Engineering mới là đòn bẩy thực sự Các bài viết khác Machine Learning: Học Machine Learning từ góc nhìn Developer - Part 1 Machine Learning: Từ Đường Thẳng, Vector đến Classification - Part 2 1. Bài toán Ta có dữ liệu: Duration – thời gian khách ở lại website IsPurchased – có mua hàng hay không public class CustomerData { [LoadColumn(0)] public float Duration { get; set; } [LoadColumn(1)] public bool IsPurchased { get; set; } } Mục tiêu: Dự đoán IsPurchased . 2. Setup Pipeline đơn giản var mlContext = new MLContext(); var data = mlContext.Data.LoadFromTextFile<CustomerData>( fileName, hasHeader: true, s...
Trong Machine Learning cổ điển, khi muốn kiểm tra độ ổn định của mô hình, chúng ta thường dùng K-Fold Cross-Validation . Chúng ta xáo trộn dữ liệu, chia làm K phần và huấn luyện. Tuy nhiên, nếu bạn áp dụng cách này cho dữ liệu chuỗi thời gian (Time Series) như dự báo thời tiết, lượng điện tiêu thụ hay lưu lượng server, bạn đang mắc một sai lầm nghiêm trọng: Data Leakage (Rò rỉ dữ liệu). Lý do đơn giản: Bạn không thể dùng dữ liệu của "ngày mai" để dạy cho mô hình dự đoán "hôm nay". Hôm nay, chúng ta sẽ tìm hiểu về Walk-Forward Validation (WFV) và Walk-Forward Optimization (WFO) – tiêu chuẩn vàng để kiểm thử các mô hình phụ thuộc thời gian, đi kèm ví dụ thực tế sử dụng .NET 10 và ML.NET . 1. Walk-Forward Validation (WFV) là gì? Hãy tưởng tượng bạn đang đứng trên dòng thời gian. Bạn chỉ biết quá khứ và muốn dự đoán tương lai gần. WFV mô phỏng chính xác quá trình này. Thay vì xáo trộn dữ liệu ngẫu nhiên, WFV sử dụng một "cửa sổ trượt" (sliding...