Hình 4.3: Kết quả chạy thuật toán cải tiến trên tập dữ liệu Iris

Một phần của tài liệu Thuật toán K-Prototypes trong phân loại bệnh nhân và đề xuất một cải tiến phân cụm (Trang 47)

(a): Số đối tượng trong cụm thứ i.

(b): Tỷ lệ phần trăn chính xác trong cụm thứ i (số lượng chính xác/50). Hình 4.3 minh họa kết quả của thuật toán “K-Means in Multilevel context” trên tập dữ liệu Iris.

Hình 4.3: Kết quả chạy thuật toán cải tiến trên tập dữ liệu Iris

Trong đó:

(a): Số lớp, là biến phụ thuộc vào số lượng rút gọn dữ liệu. (b): Thể hiện SSE của mỗi lớp.

(c): Số đối tượng trong cụm thứ i.

(d): Tỷ lệ phần trăn chính xác trong cụm thứ i (số lượng chính xác/50). Trong các thực nghiệm trên tập dữ liệu Iris, mỗi cụm có ít nhất 50 đối tượng mà nếu chúng ta để ý trong Hình 4.2, kết quả tối ưu không phải lúc nào cũng đạt được khi chạy với thuật toán K-Means cổ điển. Trong khi đó, bằng cách áp dụng thuật toán cải tiến, ta nhận được kết quả tối ưu trong mỗi cụm sau 10.000 lần lặp để tìm SSE cực tiểu. Sau khi áp dụng thuật toán 4.1 trên tập dữ liệu Iris, rút gọn đầu tiên tạo ra 18 đối tượng trong lớp

nhỏ nhất (> 10% của 150 đối tượng ban đầu). Sau đó chạy thuật toán K- Means cổ điển trên lớp này và tạo ra 3 cụm.

Lưu ý rằng bản thân mỗi đối tượng là kết quả trung bình từ 2 đối tượng khác, mà 2 đối tượng này được chọn ngẫu nhiên từ lớp trước đó.

Ví dụ, ta giả sử rằng 18 đối tượng trong lớp cuối của dữ liệu rút gọn (trên tập dữ liệu Iris) là:

Layer 1:

Cluster1: X1, X2, X3, X4, X5, X6, X7 Cluster2: X8, X9, X10, X11

Cluster3: X12 , X13, X14, X15, X16, X17, X18 SSE: S1

Trong mỗi cụm, Xi được tạo ra bởi Yn, Ym trong lớp trước đó.

Trong lớp này, ta mở rộng mỗi đối tượng đến lớp trước đó. Và ta có 37 đối tượng nhưnsau:

Cluster1: X1(Y2, Y5), X2(Y3, Y21), X3(Y4, Y11), X4(Y1, Y6), X5(Y12, Y7), X6(Y13,Y8), X7(Y10, Y18)

Cluster2: X8(Y9, Y14), X9(Y20, Y15), X10(Y17, Y16), X11(Y19, Y23)

Cluster3: X12(Y30,Y24), X13(Y25, Y35), X14(Y26, Y31), X15(Y27, Y28), X16(Y29,Y32), X17(Y33, Y36), X18(Y34, Y22), Y37

Trong 10.000 lần lặp chọn 2 cụm ngẫu nhiên, sau đó từ mỗi cụm chọn 1 đối tượng Yi ngẫu nhiên như sau:

Cluster 1: Y30

(đổi nhóm)

Cluster 3: Y5

Ta tính SSE (S1), nếu S1 nhỏ hơn giá trị trước đó thì cập nhật giá trị mới của SSE (S2) và đổi nhóm đối tượng; ngược lại, đối tượng quay về nhóm cũ và SSE vẫn là S1. Ta sẽ có 3 cụm với 37 đối tượng và SSE = Sn, với Sn là cực tiểu của cụm này.

Ta làm tương tự cho 37, 75, 150 đối tượng và tìm được lớp 2, 3, 4

tương ứng và cuối cùng là SSE tối ưu của các lớp. Kết quả được minh hoa trong Hình 4.3.

5.Thực hiện chương trình thử nghiệm

Chương trình được thể hiện trên Microsoft Visual Studio 2012, với ngôn ngữ lập trình VB, sử dụng .Net Framwork 4.5 (vì có sử dụng một số

class mới của Framwork này).

Giao diện chương trình thực nghiệm và các kết quả thực nghiệm được hướng dẫn bên dưới. Phần source code được trình bày trong Phụ lục II.

Hình 4.4: Giao diện chương trình thực nghiệm K-Means cải tiến

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Thuật toán K-Prototypes trong phân loại bệnh nhân và đề xuất một cải tiến phân cụm (Trang 47)