KNN dự đoán bằng cách tìm k điểm huấn luyện gần nhất với mẫu cần dự đoán (theo một metric khoảng cách, thường Euclid), rồi bỏ phiếu đa số (phân loại) hoặc lấy trung bình (hồi quy) từ chúng.
"Lazy" (lazy learner) vì nó không xây mô hình trong lúc train — chỉ lưu lại toàn bộ dữ liệu. Mọi tính toán bị hoãn tới lúc dự đoán: khi có một truy vấn mới, nó mới đo khoảng cách tới các điểm và tìm hàng xóm. Ngược lại, "eager learner" (linear/logistic regression, cây quyết định) học tham số/luật ngay khi train rồi có thể vứt dữ liệu.
Hệ quả:
- Train gần như tức thời, nhưng dự đoán chậm và tốn bộ nhớ (phải giữ hết dữ liệu và quét để tìm hàng xóm).
- Nhạy với thang đo đặc trưng → cần chuẩn hóa; và với "curse of dimensionality" khi số chiều lớn.
- Chọn
k: nhỏ quá → nhiễu/overfit; lớn quá → mượt/underfit.