Khi các đặc trưng có thang đo khác nhau (tuổi 20–60 và thu nhập hàng chục triệu), KNN sẽ bị đặc trưng lớn lấn át. Hãy chuẩn hóa min-max từng đặc trưng trên tập huấn luyện:
x′=max−minx−min
với min,max tính trên tập huấn luyện theo từng chiều; nếu max=min thì đặt giá trị chuẩn hóa của chiều đó bằng 0 cho mọi điểm (kể cả truy vấn). Điểm truy vấn cũng chuẩn hóa bằng min,max của tập huấn luyện (kết quả có thể nằm ngoài [0,1]).
Sau đó phân lớp KNN trên dữ liệu đã chuẩn hóa: chọn k láng giềng Euclid gần nhất (hòa ⇒ chỉ số nhỏ hơn), bỏ phiếu đa số (hòa phiếu ⇒ nhãn nhỏ nhất).
Dòng đầu: ba số nguyên n d k (k ≤ n). n dòng tiếp theo: mỗi dòng d số thực (đặc trưng) và một số nguyên (nhãn). Dòng cuối: d số thực (điểm truy vấn).
1 ≤ k ≤ n ≤ 1000; 1 ≤ d ≤ 10; 0 ≤ nhãn ≤ 100.
Một dòng duy nhất: nhãn dự đoán (số nguyên).
Ví dụ:
Đầu vào:
4 2 1
0 100 0
1 200 0
10 100 1
10 200 1
2 105
Đầu ra:
0
Giải thích:
Đang tải editor...