







KNN (K-Nearest Neighbors) là một thuật toán phân loại đơn giản nhưng rất trực quan trong học máy. Ý tưởng chính:
- Khi cần phân loại một điểm dữ liệu mới, ta tìm K điểm gần nhất trong tập huấn luyện (dựa trên khoảng cách, thường là Euclidean).
- Sau đó, gán nhãn cho điểm mới theo đa số nhãn của các điểm láng giềng đó.
🐾 Ví dụ minh họa
Giả sử ta có dữ liệu về loài vật nuôi với hai đặc trưng:
- Cân nặng (kg)
- Chiều cao (cm)
Và nhãn là: Mèo hoặc Chó.
Dữ liệu huấn luyện (giả định)
| Cân nặng (kg) | Chiều cao (cm) | Nhãn |
|---|---|---|
| 4 | 25 | Mèo |
| 5 | 28 | Mèo |
| 20 | 60 | Chó |
| 22 | 65 | Chó |
Bài toán
Ta có một con vật mới với cân nặng = 6 kg, chiều cao = 30 cm.
Cần phân loại xem nó là Mèo hay Chó.
Cách làm với KNN (K=3)
- Tính khoảng cách từ điểm mới đến từng điểm dữ liệu huấn luyện.
- Gần nhất sẽ là các điểm Mèo (4kg, 25cm) và (5kg, 28cm).
- Xa hơn là các điểm Chó (20kg, 60cm) và (22kg, 65cm).
- Chọn 3 láng giềng gần nhất → gồm 2 Mèo và 1 Chó.
- Đa số là Mèo → mô hình dự đoán: Mèo.
