You are on page 1of 26

Phân lớp dữ liệu với thuật toán

k-láng giềng gần nhất (K-NN)

1
NỘI DUNG

1. Tổng quan về phân lớp dữ liệu


2. Phân lớp dữ liệu với k-NN
• Thuật toán k-NN
• Xây dựng độ đo tương tự
• Đánh giá
3. Ứng dụng

2
TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU

• Phân lớp dữ liệu (classification)


– Là dạng phân tích dữ liệu nhằm xây dựng các mô hình mô tả
các lớp dữ liệu để dự đoán nhãn lớp hoặc xu hướng của dữ
liệu.
• Quá trình gồm hai bước
– Bước học (giai đoạn huấn luyện): xây dựng bộ phân lớp
(classifier) bằng việc phân tích/ huấn luyện
– Bước phân lớp (classification): thực hiện phân lớp cho dữ liệu
mới (dự đoán nhãn).

3
Các thuật toán phân lớp

• K- láng giềng gần nhất (kNN)


• Cây phân lớp (Decision Tree)
• Support Vector Machines (SVM)
• Naïve Bayes
• Các mô hình mạng nơ-ron
• …

4
• Ví dụ 1: Ông A (TID = 11) có vi phạm?

Marital Taxable
TID Refund Evade
Status Income
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes

5
• Xây dựng mô hình phân lớp

6
• Áp dụng mô hình phân lớp để dự đoán nhãn cho dữ liệu mới

7
• Ví dụ 2: Dự đoán khả năng tốt nghiệp của sinh viên.

8
• Ví dụ 2: Dự đoán khả năng khách sẽ mua hàng.

9
Thuật toán K-NN: Học dựa trên các láng giềng gần nhất

• K-NN: k Nearest Neighbors


Là 1 phương pháp học có giám sát
• Một số tên gọi khác:
• Instance-based learning (học dựa trên ví dụ)
• Lazy learning
• Memory-based learning (học dựa trên ghi nhớ)

10
Ý tưởng của thuật toán K-NN

• Ý tưởng: phân loại dữ liệu dựa trên nhãn của các láng giềng
gần nhất.
• Với một tập các ví dụ (mẫu, sample) trong dữ liệu để học
─ Lưu lại các mẫu
─ Không cần xây dựng một mô hình (mô tả) rõ ràng và tổng
quát của hàm mục tiêu cần học
• Đối với một mẫu cần phân loại/dự đoán nhãn
─ Xét quan hệ giữa mẫu đó với các mẫu trong dữ liệu học để
gán giá trị của hàm mục tiêu (một nhãn lớp, hoặc một giá trị
thực).

11
Thuật toán học dựa trên các láng giềng gần nhất

12
Ví dụ: bài toán phân lớp

13
Giải thuật phân lớp k-NN

14
Tham số k: chọn như thế nào?

15
CÁC ĐỘ ĐO KHOẢNG CÁCH

16

17

18
Chuẩn hóa giá trị thuộc tính của dữ liệu

19
Trọng số của các thuộc tính

20
Khi nào thì nên dùng k-NN?




21
K-NN cho phân loại

• Ví dụ: iris.csv (view data)


– Bước 1: Chuẩn bị dữ liệu và biểu diễn trực quan hoá

22
K-NN cho phân loại

• Ví dụ: tập dữ liệu iris.csv


Bước 2: Mô hình hoá (modeling) dùng k-NN
– Lựa chọn/ tìm kiếm các (bộ) tham số phù hợp
– Giá trị k trong k-NN
– Độ (hàm) đo khoảng cách

23
K-NN cho phát hiện bất thường

• K-NN thường dùng


cho bài toán phân lớp
• K-NN có thể dùng cho
phát hiện bất thường
khi có phần từ dữ liệu
nằm một mình, cách
xa các phần tử khác

Towarddatascience

24
• Iris data

25
• Câu hỏi

• Bài tập.

26

You might also like