You are on page 1of 26

KHAI THÁC

DỮ LIỆU &
ỨNG DỤNG
(DATA MINING)
GV : NGUYỄN HOÀNG TÚ ANH
1

BÀI 5 – Phần 2
GOM NHÓM
DỮ LIỆU
2

1
NỘI DUNG

1. Giới thiệu
2. Phương pháp dựa trên mật
độ
3. Outlier
4. Đánh giá chất lượng nhóm 3

GIỚI THIỆU
1. Gom nhóm là gì ? :
Gom nhóm là quá trình nhóm các đối tượng thành
những nhóm/cụm/lớp có ý nghĩa. Các đối tượng
trong cùng một nhóm có nhiều tính chất chung và
có những tính chất khác với các đối tượng ở
nhóm khác.

2
GIỚI THIỆU
Khái niệm nhóm/cụm – nhập nhằng

Có bao nhiêu nhóm /cụm? 6 nhóm/cụm

2 nhóm/cụm 4 nhóm/cụm

GIỚI THIỆU
Một số phƣơng pháp gom nhóm :
Phƣơng pháp phân hoạch
Phƣơng pháp phân cấp
Phƣơng pháp dựa trên mật độ
Phƣơng pháp dựa trên lƣới
Phƣơng pháp dựa trên mô hình

3
NỘI DUNG
1. Giới thiệu
2. Phƣơng pháp dựa trên
mật độ
3. Outlier
4. Đánh giá chất lượng nhóm
7

PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ


1. Giới thiệu :
Phƣơng pháp dựa trên mật độ (density) : mở
rộng các nhóm cho đến khi mật độ của đối tƣợng
dữ liệu trong vùng lân cận vƣợt qua ngƣỡng .
Thuật toán :
DBSCAN
OPTICS (Ordering Points To Identify the
Clustering structure)
DENCLUE (DENsity- based CLUstEring)
CLIQUE (Clustering In QUEst)
8

4
PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ
2. Khái niệm cơ bản :
Hai tham số do ngƣời dùng xác định
Eps: Bán kính lớn nhất của vùng lân cận
MinPts : Số nhỏ nhất các đối tƣợng trong vùng lân cận
bán kính Eps
Mật độ : số đối tượng nằm trong một bán kính xác
định Eps
Ký hiệu Neps(p) : tập {q thuộc về D | dist(p,q)<=Eps}
Đối tượng nòng cốt (core point) : chứa số đối tượng
nhiều hơn ngưỡng MinPts trong bán kính Eps.
Đối tƣợng biên (border point): số đối tƣợng trong
bán kính Eps ít hơn MinPts nhƣng vẫn nằm trong
vùng lân cận của đối tƣợng nòng cốt.
Đối tượng nhiễu (noise point) : đối tượng không
thuộc cả 2 dạng trên. 9

PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ

MinPts = 5
10

5
PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ
2. Khái niệm cơ bản :
Một đối tƣợng p là đối tƣợng có mật độ đạt
được trực tiếp (directly density_reachable)
từ đối tƣợng q theo Eps, MinPts nếu :
p thuộc Neps(q)
|Neps(q)| >= MinPts

p MinPts = 5

q Eps = 1 cm

11

PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ


Mật độ đạt đƣợc (density-reachable)
Đối tượng p là đối tượng có mật độ có thể đạt
được từ đối tượng q theo Eps, MinPts nếu tồn
tại một dây chuyền các đối tượng p1,…,pn, với
p1=q, pn=p sao cho pi+1 là đối tượng có mật độ
đạt được trực tiếp từ pi.

p
MinPts = 5
Eps = 1 cm p1
q
12

6
PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ
Mật độ liên thông (density-connected) :
Đối tượng p là mật độ liên thông từ đối
tượng q theo Eps, MinPts nếu tồn tại một đối
tượng o sao cho cả p, q là đối tượng có mật
độ có thể đạt được từ o theo Eps, MinPts .

p q MinPts = 5
Eps = 1 cm
o

13

PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ

3. Thuật toán DBSCAN (Density Based


Spatial Clustering of Application with
Noise)
Một nhóm đƣợc xác định nhƣ tập các đối
tƣợng có mật độ liên thông lớn nhất .
Tìm các nhóm hình dạng bất kỳ trong
CSDL không gian có nhiễu

14

7
PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ

3. Thuật toán DBSCAN (tt):


B1 : Chọn ngẫu nhiên đối tƣợng p
B2 : Tìm tất cả các đối tƣợng có mật độ
có thể đạt đƣợc từ p theo Eps, MinPts
B3 : Nếu p là đối tƣợng nòng cốt thì
hình thành nhóm
Nếu p là đối tượng biên (không có đối tượng
nào là đối tượng có mật độ đạt được từ p) thì
DBSCAN xem xét đối tượng tiếp theo trong
CSDL
B4 : Tiếp tục cho đến khi tất cả các đối
tƣợng đều đƣợc xử lý 15

PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ

Các loại đối tƣợng :


Các đối tƣợng ban đầu
nòng cốt , biên và nhiễu

Eps = 10, MinPts = 4 16

8
PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ

•Khi thuật toán chạy tốt

Các đối tƣợng ban đầu Các nhóm 17

PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ


•Khi thuật toán chạy không tốt

(MinPts=4, Eps=9.75).

Các đối tƣợng ban đầu

18

(MinPts=4, Eps=9.92)

9
PHƢƠNG PHÁP DỰA TRÊN MẬT ĐỘ

4. Nhận xét DBSCAN :


 Ưu điểm :
 Làm việc tốt với dữ liệu nhiễu
 Có thể giải quyết các trường hợp các nhóm
có hình dáng và kính thước khác nhau
 Nhược điểm :
Gặp vấn đề khi các nhóm có mật độ khác
nhau
Độ phức tạp cao đối dữ liệu nhiều chiều
Phụ thuộc vào giá trị Eps, MinPts 19

VÍ DỤ : DBSCAN

20

10
NỘI DUNG
1. Giới thiệu
2. Phương pháp dựa trên mật
độ
3. Outlier
4. Đánh giá chất lượng nhóm
21

Cá biệt dữ liệu
Cá biệt dữ liệu là gì?
• Một phần tử cách xa hết mức hoặc tƣơng đối
• Một phần tử “nhiễu”( có sự phân bố khác so với
các phần tử còn lại)
• Một phần tử hợp lệ nhƣng có giá trị đáng ngờ
• Một phần tử đƣợc đo hoặc ghi không chính xác

 Tóm lại, cá biệt là các phần tử đủ khác so với hầu hết


các phần tử còn lại, hoặc chúng là các phần tử đáng
ngờ cần khảo sát ở mức độ cao hơn

11
Cá biệt dữ liệu
 Ví dụ về cá biệt
 Trong một tập dữ liệu lưu lại việc sử dụng thẻ tín
dụng, có một lần mua với số lượng cực lớn so với
các lần mua đều đặn trước đó.
 Lần mua này tạo nên sự nghi ngờ sử dụng thẻ tín
dụng đánh cắp hoặc thẻ tín dụng giả.

Xác định các cá biệt là một vấn đề quan trọng và cần


thiết cho các ứng dụng thực tế :
 Phát hiện gian lận thẻ tín dụng
 Phát hiện gian lận viễn thông

 Phân đoạn khách hàng

 Phân tích y khoa

Cá biệt trong không gian 2 chiều

12
Các phƣơng pháp khai thác cá biệt
 Khai thác cá biệt dựa trên phân bố
 Phương pháp này dựa vào sai số trong mô hình hồi qui tuyến
tính của tập dữ liệu.
 Các phần tử có sai số lớn nhất là các cá biệt
 Hoặc dựa vào phân bố chuẩn được tạo từ tập dữ liệu.
 Khai thác cá biệt dựa trên mật độ
 Phương pháp này tìm các cá biệt cục bộ dựa trên mật độ cục
bộ các láng giềng của một phần tử
 Các phần tử có hệ số cá biệt cục bộ (LOF) nhỏ nhất là các cá
biệt.
 LOF: một độ đo trực quan về mật độ giữa một phần tử và các
phần tử thuộc các láng giềng của nó.

Các chiến lƣợc khai thác cá biệt(tt)


 Khai thác cá biệt dựa trên chiều sâu
 Phân tập dữ liệu thành từng lớp (layer), bằng cách tạo các
bao lồi với chiều sâu khác nhau.
 Các lớp có chiều sâu nhỏ có khả năng chứa các cá biệt
 Khai thác cá biệt dựa trên gom cụm
 Kết quả phụ của các thuật toán gom cụm ( DBSCAN, ROCK,
C2P,...).
 Sử dụng độ đo CBLOF( hệ số cá biệt cục bộ dựa trên cụm)
để xác định cá biệt
 Khai thác cá biệt dựa trên khoảng cách
 Phƣơng pháp này dựa trên khoảng cách của một phần tử
đến các láng giềng của nó. Cá biệt dựa trên khoảng cách là
các phần tử không đủ láng giềng trong một khoảng cách
D xác định
 Phƣơng pháp dựa trên vòng lặp lồng
 Phƣơng pháp dựa trên ô
 Phƣơng pháp dựa trên cấu trúc chỉ mục

13
NỘI DUNG
1. Giới thiệu
2. Phương pháp dựa trên mật
độ
3. Outlier
4. Đánh giá chất lƣợng
nhóm
27

VÍ DỤ : KẾT QUẢ GOM NHÓM


1 1

0.9 0.9

0.8 0.8

0.7 0.7
DL BAN 0.6 0.6
DBSCAN
ĐẦU 0.5 0.5
y
y

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x x

1 1

0.9 0.9

0.8 0.8

0.7 0.7

K-means 0.6 0.6 Complete


0.5 0.5 Link
y

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 28
x x

14
Đánh giá chất lƣợng nhóm
 Đánh giá chất lượng nhóm là nhiệm vụ
khó khăn và phức tạp nhất trong phân
tích nhóm.
 Chất lƣợng nhóm thể hiện qua :
 Xác định xu hƣớng gom nhóm của DL
 So sánh kết quả gom nhóm với kết quả/
thông tin bên ngoài đã có (ví dụ so sánh với
các nhãn lớp đã cho)
 Đánh giá kết quả gom nhóm không dùng
thông tin bên ngoài : chỉ sử dụng DL
 So sánh kết quả của 2 phương pháp gom
nhóm khác nhau
 Xác định chính xác số nhóm.

Đánh giá chất lƣợng nhóm


 Độ đo chất lƣợng nhóm:
 External index : đo mức độ các nhãn lớp
tƣơng đồng với các nhãn lớp bên ngoài đã
cung cấp sẵn.
 Entropy

 Internal Index : đo chất lƣợng của cấu trúc


nhóm không dùng các thông tin bên ngoài
 SSE

 Relative Index : dùng để so sánh 2 phƣơng


pháp gom nhóm hoặc so sánh các nhóm
 SSE hoặc entropy

15
Đánh giá chất lƣợng nhóm
 Internal Index : SSE
 SSE thƣờng dùng để so sánh 2
phƣơng pháp gom nhóm hoặc 2 nhóm
10

6 9

8
4
7

2 6

SSE
5
0
4
-2 3

2
-4
1
-6
0
2 5 10 15 20 25 30
5 10 15
K

Đánh giá chất lƣợng nhóm


 Internal Index : SSE
Công thức tính Bình phương sai ( Sum
of Squared Error - SSE)
K
SSE    dist 2 (mi , x )
i 1 xCi
Với x là một điểm DL trong nhóm Ci và mi là
điểm đại diện cho nhóm (điểm TB nhóm
hoặc điểm trung tâm nhóm), K-số nhóm.
dist (): khoảng cách Euclide

16
Đánh giá chất lƣợng nhóm
 External index : Entropy, Purity
 Đối với mỗi nhóm j, xác định pij là xác suất để
một mẫu thuộc nhóm j(cluster j) thuộc về lớp
i(class i)
mij
pij 
mj
Trong đó :
mj là số mẫu của cluster j;
mij là số mẫu của class i thuộc cluster j;

Đánh giá chất lƣợng nhóm


 External index : Entropy, Purity
 Khi đó entropy của cluster j : ej và tổng entropy e

L K mj
e j   pij log 2 ( pij ) e ej
i 1 j 1 m

Trong đó :
L là số lớp (classes);
K là số nhóm(clusters);
mj là số mẫu của cluster j;
m là tổng số mẫu

17
Đánh giá chất lƣợng nhóm
 External index : Entropy, Purity
 Khi đó purity của cluster j : purityj và tổng purity

K mj
purity j  max pij purity   purity j
i
j 1 m

Trong đó :
L là số lớp (classes);
K là số nhóm(clusters);
mj là số mẫu của cluster j;
m là tổng số mẫu

Đánh giá chất lƣợng nhóm


 Ví dụ : Kết quả gom nhóm dùng k-mean cho tập
DL bài báo LA
Cluster/ Entertainm Finan Natio Tổng
Class ent cial Foreign Metro nal Sports cluster Entropy Purity
1 3 5 40 506 96 27 677 1.2270 0.7474
2 4 7 280 29 39 2 361 1.1472 0.7756
3 1 1 1 7 4 671 685 0.1813 0.9796
4 10 162 3 119 73 2 369 1.7487 0.4390
5 331 22 5 70 13 23 464 1.3976 0.7134
6 5 358 12 212 48 13 648 1.5523 0.5525
Tổng
class 354 555 341 943 273 738 3204 1.1450 0.7203

Ví dụ pFinancial,2=7/361=0.0194

18
TÓM TẮT
Bài toán gom nhóm là nhóm các đối
tƣợng dựa trên sự giống nhau của chúng
và đƣợc ứng dụng rộng rãi.
Độ đo sự giống nhau có thể khác nhau đối
với từng kiểu dữ liệu .
Các thuật toán gom nhóm chính chia
thành : phân hoạch, phân cấp, dựa trên
mật độ, dựa trên lưới và dựa trên mô hình
Bài toán xác định cá biệt là một ứng dụng
quan trọng của phân tích nhóm.
Đánh giá chất lượng nhóm là lĩnh vực cần37

tập trung nghiên cứu.

CÁC CÔNG VIỆC CẦN LÀM


1. Thảo luận và tự thực hiện các bài tập của
chƣơng 5 – Phần 2 (không nộp)
2. Chuẩn bị bài 6: Text mining và web mining
 Xem nội dung bài 6.
 Cách thực hiện :
 Đọc slide, xem các ví dụ
 Tham khảo trên Internet và tài liệu tham
khảo.

38

19
Ví dụ : k-mean
Customer Age Income
Income
(K)
John 0.55 0.175

Rachel 0.34 0.25

Hannah 1 1

Tom 0.93 0.85

nellie 0.39 0.2

David 0.58 0.25


Age

Ví dụ : k-mean
Bƣớc 1: Chọn Nellie và David là trung tâm nhóm/cụm A
và B
Customer Distance Distance
from from Income
David Nellie
John 0.08 0.161

Rachel 0.24 0.07


Hannah 0.859 1.006
B
Tom 0.694 0.845
A
Nellie

David
Age

20
Ví dụ: k-mean
B2 : Tính các trung tâm mới của nhóm/cụm A và B :

Trung tâm của Cluster A : Income

 Age 0.37, Income=0.23

Trung tâm của Cluster B :


 Age 0.77, Income=0.57
B

Dựa trên các trung tâm cụm


mới, gán các khách hàng A

vào các nhóm/cụm.

Age

Ví dụ: k-mean

Customer Distance A Distance B


Income

John 0.19 0.45


Rachel 0.04 0.53 B
Hannah 1.00 0.49
Tom
0.84 0.33
A
Nellie 0.04 0.53
David
0.22 0.37
Age

21
Ví dụ: k-mean
B3: Tính các trung tâm mới của nhóm/cụm A và B :

Trung tâm của Cluster A : Income


 Age 0.47, Income=0.22

Trung tâm của Cluster B : B


 Age 0.97, Income= 0.93

 Với các trung tâm nhóm


mới này, thành phần của
các nhóm không thay đổi. A
 Thuật toán dừng.

Age

BÀI TẬP nhóm


 Thời gian : 30’ No.
 Cho DL bên (đã chuẩn Customer Age Income
cards
hoá) và k = 2 Hƣng 0.05 0.12 0.33
 Sử dụng thuật toán k- Mai 0.19 0.06 0.00
means (k=2) để xác định
các nhóm.
Lan 0.58 0.41 0.33
 Tính độ đo SSE cho Thủy 0.00 0.00 0.67
từng nhóm ở vòng lặp Tuấn 0.33 0.15 0.33
đầu tiên và cuối cùng. Minh 1.00 1.00 0.00
Thiện 0.91 0.82 0.00
Ngọc 0.12 0.06 1.00

22
Qui định trình bày bài nộp
Bài tập nhóm
Ngày nộp :

 Tên nhóm: (Các thành viên tham gia)


 Họ và tên:
 Mã số SV :
 Nội dung :

45

TÀI LIỆU THAM KHẢO


1. J.Han, M.Kamber, Chương 8 – Data mining :
Concepts and Techniques
http://www.cs.sfu.ca/~han/dmbook
http://www-faculty.cs.uiuc.edu/~hanj/bk2/slidesindex.html : 2nd
2. P.-N. Tan, M. Steinbach, V. Kumar, Chương 8 -
Introduction to Data Mining
http://www-users.cs.umn.edu/~kumar/dmbook/ch8.pdf

3. Thuật toán DBSCAN


http://ifsc.ualr.edu/xwxu/publications/kdd-96.pdf

46

23
Q&A

47

BÀI TẬP
1. Cho tập DL một chiều: {6, 12, 18, 24, 30, 42, 48}
a) Với mỗi tập trung tâm nhóm sau, hình thành 2 nhóm
đầu tiên dựa k-mean(k=2). Tính độ đo SSE cho từng
tập 2 nhóm . So sánh kết quả
 m1 = 18, m2 = 45
 m1 = 15, m2 = 40
b) Nếu tiếp tục chạy thuật toán k-mean(k=2) trên tập DL
trên với các trung tâm nhóm đã cho, có sự thay đổi
như thế nào ?
c) Sử dụng thuật toán Agnes với Single Link để xác định
2 nhóm từ DL trên. So sánh kết quả với k-mean( k=2
và chọn kết quả cho SSE tốt nhất)
48

24
BÀI TẬP
2. Cho ma trận hỗn loạn sau. Hãy tính độ đo
entropy và purity.
Enterta Finan Natio Spor
Cluster/Class inment cial Foreign Metro nal ts Tổng cluster
1 1 1 0 11 4 676 693
2 27 89 333 827 253 33 1562
3 326 465 8 105 16 29 949
Tổng class 354 555 341 943 273 738 3204

49

BÀI TẬP
3. Cho CSDL bên dưới :
a) Chuẩn hóa CSDL và gom cụm với k-mean(k = 2)
(không dùng cột response). Tính độ đo SSE cho kết quả
gom nhóm.
b) Tạo ma trận hỗn loạn (so với cột response) và tính độ đo
entropy và purity cho 2 nhóm tạo ra từ câu a).

50

25
BÀI TẬP
Income No.
Customer Age Response
(K) cards
Lâm 35 35 3 Yes
Hưng 22 50 2 No
Mai 28 40 1 Yes
Lan 45 100 2 No
Thủy 20 30 3 Yes
Tuấn 34 55 2 No
Minh 63 200 1 No
Vân 55 140 2 No
Thiện 59 170 1 No
Ngọc 25 40 4 Yes

26

You might also like