1. Trang chủ
  2. » Công Nghệ Thông Tin

Các dạng bài tập knowledge discovery and data mining

34 462 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các Dạng Bài Tập Knowledge Discovery and Data Mining
Trường học Trường Đại Học Kinh Tế Quốc Dân
Định dạng
Số trang 34
Dung lượng 401,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phát hiện tri thức và phân tích dữ liệu đang là một ngành khoa học không ngừng phát triển , các thuật toán áp dụng trong dạng này cũng rất là nhiều .Dưới đây là các dạng toán cơ bản nhất của môn học KDD

Trang 1

1. Phân Hoạch.

Câu 1: Cho price ={5, 10 ,11 ,13, 15, 35 ,50, 55 ,72, 92 ,204, 215}.Hãy

phân hoạch price thành 3 bin

a. Dùng kỹ thuật phân hoạch equal – frequency và kỹ thuật làm trơn

(smoothing) bin medians

equal – frequency : Chia đều price trên thành 3 bin , mỗi bin có 4

giá trị

Bin 1: 5, 10, 11, 13Bin 2:15, 35, 50, 55Bin 3:72, 92, 204, 215

Smoothing by bin medians : mỗi bin trên có 4 giá trị nên tiến

hành tính trung bình 2 giá trị ở giữa( giá trị 2 và 3) làm medians của từng bin.ví dụ: medians(Bin 1) = = 10.5

Bin 1: 10.5, 10.5, 10.5, 10.5 Bin 2: 42.5, 42.5, 42.5, 42.5 Bin 3:148 ,148 ,148, 148

Smoothing by bin boundaries : tính giá trị trung bình của tất cả

các giá trị trong từng bin, cái nào bé hơn hoặc bằng giá trị trung bình ấy thì lấy giá trị nhỏ nhất trong bin ngược lại cái nào lớn hơn giá trị trung bình thì lấy giá trị lớn nhất của bin đó

Ví dụ: = = 9.75 → Bin 1: 5,13,13,13Bin 1: 5, 13, 13, 13

Bin 2: 15,15,55,55Bin 3: 72, 72, 215, 215

b. Dùng kỹ thuật phân hoạch equal – width và kỹ thuật làm trơn

(smoothing) bin medians

equal – width : lấy giá trị lớn nhất của price trừ đi giá trị nhỏ nhất

của price rồi chia 3 (),từ đó suy ra 3 khoảng là ( 5→75)(75→145)(145→215) sau đó lựa chọn các giá trị của price – giá trị nào thuộc khoảng nào thì cho vào khoảng đó

Bin 1: 5, 10, 11, 13 , 15, 35, 50, 55, 72Bin 2: 92

Bin 3: 204, 215

Smoothing by bin medians: Bin nào có tổng số giá trị lẻ thì lấy

giá trị trung tâm làm giá trị medians( Bin 1: có 9 giá trị mà giá trị chính giữa(thứ 5) là 15 nên medians của Bin 1 :(15), bin có tổng sốgiá trị chẵn thì tính trung bình 2 giá trị chính giữa chia 2

Trang 2

Bin 1: 15, 15 ,15, 15 ,15, 15 ,15, 15 ,15Bin 2: 92

Bin 3: 209.5, 209.5

Smoothing by bin boundaries:

Bin 1: 5, 5, 5, 5, 5, 72, 72, 72, 72Bin 2: 92

Bin 3: 204, 215

Câu 2: Cho price ={5, 10 ,11 ,13, 15, 35,45 ,50, 55 ,72, 92 ,204, 215}.Hãy

phân hoạch price thành 4 bin

a. Dùng kỹ thuật phân hoạch equal – frequency và kỹ thuật làm trơn

(smoothing) bin medians

equal – frequency : price có 13 giá trị mà chia thành 4 bin khi đó

mỗi bin sẽ có 3 giá trị còn thừa 1 giá trị có thể cho vào bin nào cũng được

Bin 1:5,10,11,13Bin 2:15,35,45Bin 3:50,55,72Bin 4:92,204,215

Smoothing by bin medians :

Bin 1:10.5,10.5,10.5,10.5Bin 2:35,35,35

Bin 3:55,55,55Bin 4:204,204,204

Smoothing by bin boundaries :

Bin 1:5,13,13,13Bin 2:15,45,45Bin 3:50,50,72Bin 4:92,215,215

b. Dùng kỹ thuật phân hoạch equal – width và kỹ thuật làm trơn

(smoothing) bin medians

equal – width : bài này chia làm 4 bin nên sẽ lấy giá trị

( = 52.5) , 4 khoảng (5→57.5)(57.5→110)(110→162.5)(162.5→215) rồi chia bin tương tự câu 1:

Bin 1:5, 10 ,11 ,13, 15, 35,45 ,50, 55 Bin 2:72, 92

Bin 3:

Trang 3

Bin 4:204, 215

Smoothing by bin medians :

Bin 1:15,15,15,15,15,15,15,15,15Bin 2:82,82

Bin 3:

Bin 4:209.5

Smoothing by bin boundaries :

Bin 1:5,5,5,5,5,55,55,55,55Bin 2:72,92

Bin 3:

Bin 4:204,215

 Bài toán này Bin 3 trống nên kỹ thuật phân hoạch equal – widthchỉ phù hợp khi dữ liệu nhiều và phân chia số lượng Bin nhất định

a. Tính toán ma trận khoảng cách cho 5 điểm với khoảng cách Euclide

Áp dụng công thức: d(xi,xj) = ta có bảng ma trận khoảng cách giữa các điểm sau:

b. Cho một điểm dữ liệu mới, x = (1.4,1.6) là truy vấn, xếp hạng các điểm

cơ sở dữ liệu dựa trên sự tương đồng với truy vấn sử dụng khoảng cách Euclidean, khoảng cách Manhattan

Trang 4

Cách làm: tính khoảng cách từ 5 điểm trong cơ sở dữ liệu tới điểm truy vẫn theo khoảng cách Euclidean và khoảng cách Manhattan.

Trong đó, thuộc tính A1 là thuộc tính nhị phân đối xứng Các thuộc tính khác

là nhị phân bất đối xứng, với quy định Y=1, N=0

Trang 5

a. Tính ma trận khoảng cách cho các đối tượng với tập thuộc tính từ A2 đến A6.

Áp dụng tính chất: d(xi,xj) =

Ví dụ: d(x1,x2) = (ở đây, có thuộc tính A2,A3,A5 khác nhau của x1,x2 nên được gán giá trị là Y=1; Mẫu số có 2 thuộc tính giống nhau là A4,A6 nên được gán giá trị là Y = 1 tại A4 và N = 0 tại A6

- Tương tự tính toán khoảng cách cho tất cả các tập thuộc tính từ A1 → A6

3. Luật kết hợp ( 2 thuật toán chính là Fp – Growth và Apriori)

Câu 1: một số câu hỏi trắc nhiệm.

Transaction database sau được sử dụng cho các câu hỏi 1-3 (Một Lựa Chọn).

Tid Item bought

10 Beer, Nuts, Diaper

20 Beer, Coffee, Diaper

30 Beer, Diaper, Eggs

40 Nut, Eggs, Milk

50 Nuts, Coffee, Diaper, Eggs, Milk

Trang 6

1. Cho X là 1-itemset {Beer} và Y là 1-itemset {Diaper} Cho biết tập tất cảcác transaction từ bảng trên chứa itemset X U Y.

3. Cho biết confident và support cua luật kết hợp (association rule)

{Diaper} -> {Coffee, Nuts}?

A. support s = 0.4, confident c = 0.5

B. support s = 0.8, confident c = 0.5

C. support s = 0.4, confident c = 1

D. support s = 0.1, confident c = 1

E. Các dáp án trên đều sai.

4. Cho bảng dưới đây chứa tất cả các frequence pattern Cho biết frequence pattern nào trong số chúng là closed pattern nhưng không phải max pattern (Nhiều lựa chọn)

Frequence Pattern Support Beer, Nuts, Diaper 100 Beer, Coffee, Diaper 200 Beer, Diaper, Eggs 50 Beer, Nuts, Eggs, Milk 400 Beer, Nuts, Diaper, Eggs, Milk 50

A {Beer, Nuts, Diaper}

B {Beer, Coffee, Nuts}

C {Beer, Nuts, Eggs, Milk}

D {Beer, Diaper, Eggs}

Câu 2: Dùng thuật toán Apriori thực hiện thuật toán tìm mẫu phổ biến và

sinh ra các luật kết hợp biết minsup = 50% ; minconf = 50% ( cơ sở dữ liệu như bảng giao dịch sau)

Trang 7

 Các bước thực hiện thuật toán:

1 Duyệt (Scan) toàn bộ transaction database để có được support S của itemset, so sánh S với min_sup, để có được 1-itemset (L1)

1-2 Sử dụng Lk-1 nối (join) Lk-1 để sinh ra candidate k-itemset Loại bỏ các itemsets không phải là frequent itemsets thu được k-itemset

3 Scan transaction database để có được support của mỗi candidate itemset, so sánh S với min_sup để thu được frequent k –itemset (Lk)

k-4 Lặp lại từ bước 2 cho đến khi Candidate set (C) trống (không tìm thấy frequent itemsets)

5 Với mỗi frequent itemset I, sinh tất cả các tập con s không rỗng của I

6 Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin cậy (Confidence) của nó > =min_conf

 Quy trình thực hiện thuật toán:

Trang 8

Itemsets Support(A,B) Support(A) Confidence

4. Thuật toán cây quyết định.

Câu 1: cho cơ sở dữ liệu sau:

Trang 9

< Tính theo thông tin cột Class : (4 +) và (6 -) >

- InfoA(D) = * I(4,3) + * I(0,3)

= *( * + * ) + * 0

= 0.69

< Tính theo cột thuộc tính A : đếm số giá trị T – F ( trong T và

F nhìn sang cột Class để chọn các giá trị (+) – (-) của Từng giá trị T – F>

- InfoB(D) = *I(3,1) + * I(1,5)

= * [()*log2() +(-)*log2()] + *[(- )*log2( ) +(- )*log2( )]

= 0.715

 Gain (A) = Info(D) – InfoA(D) = 0.971 – 0.69 = 0.281

 Gain (B) = Info(D) – InfoB(D) = 0.971 – 0.715 = 0.256

Trang 10

Thực hiện các tính toán và đưa ra thứ tự lựa chọn các thuộc tính cho cây quyết định

sử dụng Information Gain (bao gồm cả các nhánh)

- Info(D) = I(10,5,5) = * log2() + * log2() + * log2() = 1.5

- InfoA1(D) = *I(2,2,1) + * I(4,0,0) + * I(4,3,4)

= *[- *log2() + - *log2() + - *log2() ] + 0 + *[- *log2() + -

*log2() + - *log2() ] = 1.245

- InfoA2(D) = * I(2,2,4) + * I(3,2,0) + * I(5,1,1)

= *[- *log2() + - *log2() + - *log2() ] + *[- *log2() + - *log2()

+ - *log2() ] + *[- *log2() + - *log2() + - *log2()] = 1.2448

- InfoA3(D) = * I(4,2,2) + * I(3,2,1) + * I(3,1,2)

= *[- *log2() + - *log2() + - *log2() ] + *[- *log2() + - *log2()

+ - *log2() ] + *[- *log2() + - *log2() + - *log2()] = 1.475

Ta có :

 Gain (A1) = Info(D) – InfoA1(D) = 1.5 – 1.245 = 0.255

 Gain (A2) = Info(D) – InfoA2(D) = 1.5 – 1.2448 = 0.2552

 Gain(A3) = Info(D) – InfoA3(D) = 1.5 – 1.475 = 0.025

 Thứ tự chọn là: A2 → A1 → A3

5. Thuật toán k-nn.

Trang 11

Cho tập mẫu gồm những mẫu các thuộc tính (A1, A2, Class) như sau: (1, 1,A), (1, 2,B), (2, 1,A), (2, 1.5,C), (3, 2,B), (4,1.5,C), (4, 2,A), (5, 1.5,B), (4.5, 2,C), (4, 4,C), (4.5, 4,B), (4.5, 5,A),

(4, 5,B), (5, 5,C)

a. Hãy xác định nhãn cho đối tượng (4.2, 4.7) theo thuật toán k-NN với k=3, với khoảng cách sử dụng là Euclide

b. Hãy xác định nhãn cho đối tượng ở câu a) nhưng trường hợp K=4

Áp dụng công thức tính khoảng cách Euclide ta có bảng sau:

a. Với k = 3 nên 3 điểm gần nhất với đối tượng là : x7 – x9 – x10

→ ta có thể chọn ngẫu nhiên 1 trong 3 điểm làm nhãn dán ( vì A – B – C khác biệt)

b. Với k = 4 thì ta có 4 điểm gần đối tượng nhất là : x7 – x8 – x9 – x10

→ta sẽ chọn nhãn dán là B ( vì B xuất hiện 2 lần tại x8 – x10 còn A và C chỉ xuất hiện 1 lần)

6. Tìm trung tập cụm của thuật toán K – means và K – Medoid.

Cho cụm gồm 5 mẫu sau đây:

X1(1,1) ; X2(1,2) ; X3(2,1) ; X4(1.6,1.4) ; X5(2,2)

a. Tìm trung tâm cụm theo thuật toán K - medoid.

Trung tâm cụm theo thuật toán K – medoid được định nghĩa là :

Trang 12

• Áp dụng công thức Manhattan tính khoảng cách các điểm trong

cụm(là khoảng cách Minkowski khi q=1)Khoảng cách Minkowski :

Ta được bảng khoảng cách sau:

 Từ trên ta suy ra Min(arg) = 1 tại → =

b. Tìm trung tâm cụm theo thuật toán K – means.

Áp dụng công thức tính trung tâm các cụm sau:

Mean =( , ) ta có trung tâm cụm dữ liệu trên là:

C ( , ) → C(1.52 ; 1.48)

7. Phân cụm thuật toán K – means

Câu 1: Cho tập dữ liệu sau : A(2,10) ; B(2,5) ; C(8,4) ; D(5,8) E(7,5) ; F(6,4) ; G(1,2) ; H(4,9)

a. Tìm các trung tâm cụm sau lần lặp thứ 1 dùng thuật toán k-mean , giả sử các trung tâm cụm ban đầu A , D , G.

 Gọi các trung tâm cụm lần lượt là: vì đề bài cho các trung tâm cụm ban đầu là A,D,G nên ta có: = A = (2,10) ; = D = (5,8) ; = G = (1,2)

Trang 13

 Áp dụng công thức tính khoảng cách Euclide để tính khoảng cách từ trung tâm các cụm tới các điểm trong tập dữ liệu.

 Ta có bảng sau:

Cụm 1

Cụm2

Cụm3Gần Gần Gần

5

8.062257748

6.708203932

x

F 6 4 7.211102551 4.12310562

6

5.385164807

7.615773106

xSau lần lặp thứ nhất ta có các cụm sau:

Trang 14

Cụm3Gần Gần Gần

9

7.516648189

x

6

2.549509757

x

C 8 4 8.48528137

4

2.828427125

6.670832032

x

D 5 8 3.60555127

5

2.236067977

6.519202405

x

E 7 5 7.07106781

2

1.414213562

6.041522987

0.707106781

x

H 4 9 2.23606797

7

3.605551275

6.964194139

Trang 15

được ở lần lập 2 tiến hành lặp lần 3, ta có bảng sau :

Cụm 1

Cụm2

Cụm3Gần Gần Gần

A 2 10 1.118033989 6.18970920

2

7.516648189

x

B 2 5 4.60977222

9

4.562071898

2.549509757

x

E 7 5 6.02079728

9

0.901387819

6.041522987

x

F 6 4 6.26498204

3

1.820027472

G 1 2 7.76208734

8

6.656763478

0.707106781

x

H 4 9 1.118033989 4.10030486

7

6.964194139

x

Sau lần lặp thứ ba ta có các cụm sau:

• Cụm 1 : A(2,10) , H(4,9) , D(5,8)

Trang 16

được ở lần lập 3 tiến hành lặp lần 4, ta có bảng sau :

Cụm 1

Cụm2

Cụm3Gần Gần Gần

A 2 10 1.94650969

7

7.710830046

7.516648189

x

B 2 5 4.33461647

7

5.075125614

2.549509757

x

C 8 4 6.61429512

5

1.008414597

6.670832032

x

D 5 8 1.66400120

2

4.356248386

6.519202405

G 1 2 7.49192231

7

6.366859508

0.707106781

x

H 4 9 0.33 5.71986888 6.96419413

9

x

Trang 17

Sau lần lặp thứ tư ta có các cụm sau:

Ta thấy trung tâm 3 cụm không thay đổi nữa nên kết thúc tại đây:

 Cụm 1 : trung tâm (,9) ; gồm các điểm {A(2,10) , H(4,9) , D(5,8)}

 Cụm 2 : trung tâm (7, ; gồm các điểm {C(8,4) , E(7,5) , F(6,4)}

 Cụm 3: trung tâm ; gồm các điểm {B(2,5) , G(1,2)}

Câu 2: Cho tập mẫu gồm những mẫu hai thuộc tính sau : (1,1) ; (1,2)

(2,1) ; (2,1.5) ; (3,2) ; (4,1.5)

; (4,2) (5,1.5) ; (4.5,2) ; (4,4) ; (4.5 , 4) ; (4.5 , 5) ; (4,5) (5,5) Dùng giải thuật k-means để gom cụm tập mẫu nêu trên với k=3 ứng với các trường hợp sau:

a. Các trung tâm ban đầu là (2,1.5) ; (4.5,2) ; (4.5 , 5).

 Gọi các trung tâm cụm lần lượt là: = (2,1.5) ; = (4.5,2) ; = (4.5,5)

 Áp dụng công thức tính khoảng cách Euclide để tính khoảng cách từ trung tâm các cụm tới các điểm trong tập dữ liệu

 Với k=3 , tiến hành lặp lần 1 ta có bảng sau:

Cụm 1 Cụm 2 Cụm 3Gần Gần Gần

1 1 1.118033989 3.64005494 5.31507290 x

Trang 19

→ (4.375,1.75)

• Cụm 3: ( )

→Tiếp tục lặp lần 2 với trung tâm các cụm mới : (1.8,1.5) ; (4.375,1.75) ; , ta

có bảng lần lặp 2 như sau:

x y (1.8,1.5) (4.375,1.75) (4.4,4.6) Lần 2

Cụm1

Trang 20

Sau lần lặp thứ hai ta có các cụm sau:

Ta thấy trung tâm của các cụm không thay đổi nên kết thúc tại lần lặp thứ 2:

 Cụm 1 : trung tâm (1.8,1.5) ; gồm các điểm {(1,1) ,(1,2) , (2,1) , (2,1.5) , (3,2)}

 Cụm 2 : trung tâm (4.375, ; gồm các điểm {(4,1.5), (4,2), (5,1.5), (4.5,2)}

 Cụm 3: trung tâm ; gồm các điểm {(4,4), (4.5 , 4), (4.5 , 5) , (4,5)

, (5,5)}

b. Các trung tâm cụm ban đầu là (1,2) ; (3,2) ; (4,2).

 Gọi các trung tâm cụm lần lượt là: = (1,2) ; = (3,2) ; = (4,2)

 Áp dụng công thức tính khoảng cách Euclide để tính khoảng cách từ các cụm tới các điểm trong tập dữ liệu

 Với k=3 , tiến hành lặp lần 1 ta có bảng sau:

Cụm 1 Cụm 2 Cụm 3Gần Gần Gần

7

3.16227766 x

Trang 21

1 2 0 2 3 x

2 1 1.41421356

2

1.414213562

2.236067977

3.041381265

Trang 22

Tiếp tục lặp lần 2 với trung tâm các cụm mới : (1.5,1.375) ; (3,2) ; , ta có bảng lần lặp 2 như sau:

Cụm1

Trang 23

x y (1.5,1.375) ( , ) Lần 3

Cụm1

Cụm1

Cụm 2 Cụm 3

Trang 24

Ta thấy trung tâm của các cụm không thay đổi nên kết thúc tại lần lặp thứ 4:

 Cụm 1 : trung tâm (1.5,1.375) ; gồm các điểm {(1,1) ,(1,2) , (2,1) , (2,1.5)}

 Cụm 2 : trung tâm (4.1, ; gồm các điểm {(3,2) , (4,1.5), (4,2), (5,1.5), (4.5,2)}

 Cụm 3: trung tâm ; gồm các điểm {(4,4), (4.5 , 4), (4.5 , 5) , (4,5)

, (5,5)}

 Nhận xét :

Trang 25

• Kết quả phân cụm của câu a và b hoàn toàn khác nhau → Tuy nhiên : việc lựa chọn các trung tâm cụm ban đầu không ảnh hướng tới kết quả phân cụm.

→điểm (3,2) có thể phân 1 trong 2 cụm bất kỳ

• Ở lần lặp thứ nhất của câu b) tại các điểm 3 và 4 có giá trị khoảng cách tới trung tâm cụm C1 C2 là bằng nhau → có thể gom 2 giá trị đó vào cụm nào cũng được → không ảnh hưởng tới kết quả phân cụm

8. Phân cụm thuật toán K – medoid.

Cho bảng dữ liệu sau:

Hãy phân cụm bảng dữ liêu trên bằng thuật toán K-medoid

 Cách làm: đầu tiên chọn số cụm định phân ( cái này đề bài có thể cho trước).Tiếp theo chọn trọng tâm 2 cụm( đề bài có thể cho trước , nếu không cho có thể chọn ngẫu nhiên để tính toán)

 Ở bài toán này chọn K=2 ( chia bảng dữ liệu thành 2 cụm).Và chọn X5

và X10 là trọng tâm của 2 cụm

 Suy ra trọng tâm 2 cụm là : C1(8,5) ; C2(4,5)

 Bây giờ chúng ta tính khoảng cách những điểm còn lại tới trọng tâm của

2 cụm bằng khoảng cách Manhattan (là khoảng cách Minkowski khi q=1)Khoảng cách Minkowski :

Trang 26

Ta được bảng khoảng cách sau:

Lần 1Gần

Trang 27

trùng với trọng tâm cụm ở phần trên) Bài này sẽ chọn X8 là trọng tâm cụm mới của cụm K1 còn cụm K2 vẫn giữ nguyên trọng tâm cụm là X10.

Ta có bảng khoảng cách mới như sau:

Lần 2Gần

9. Sử dụng ngôn ngữ R phân cụm các thuật toán.

Câu 1: Phân cụm dữ liệu ở câu 7 bằng thuật toán K – means.

Trang 28

- Đầu tiên , nhập dữ liệu vào R - Phần này có thể copy dữ liệu vào file Excel,txt, rồi nhập số liệu vào R hoặc có thể tạo như sau:

Trang 29

- Phân dữ liệu thành 3 cụm và tìm trong tâm từng cụm.

> YANG.3means = kmeans(YANG, centers = 3)

< Trên đây là trọng tâm của 3 cụm, kết quả giống bài 7>

- Tiếp theo tìm kiếm các điểm của từng cụm

> YANG.3means$cluster

[1] 3 3 3 3 2 2 2 2 2 1 1 1 1 1

→4 giá trị đầu là cụm 3 ; 5 giá trị tiếp theo là cụm 2 ; 5 giá trị cuối cùng là cụm 1

- Hiển thị các cụm trên đồ thị, mỗi cụm tương ứng 1 màu

Trang 31

Câu 2: Phân cụm K – medoid trong R – Sử dụng PAM.

data("USArrests") # tải tập dữ liệu

df <- scale(USArrests) # chia tỷ lệ dữ liệu

head(df, n=3) # xem 3 hàng đầu tiên của dữ liệu

Ngày đăng: 13/12/2021, 17:32

TỪ KHÓA LIÊN QUAN

w