6.20 3.40 0.0848 1.66062 51 Tính lại tâm cho các nhóm:

Một phần của tài liệu BÀI GIẢNG HỌC MÁY Ngành Khoa học Máy tính (Trang 92 - 95)

III. Bài tập và thí nghiệm chương

10 6.20 3.40 0.0848 1.66062 51 Tính lại tâm cho các nhóm:

Tính lại tâm cho các nhóm:

c1=(7.9+6.2+5.8+6.1+6.7+6.2

6 ,3.8+2.9+4+62.8+3+3.4)=(6.48,3.32)

c2=(5.4+5.8+4.4+4.3

4 ,3.4+2.74+2.9+3)=(4.975,3)Tâm khơng thay đổi nên giải thuật dừng. Kết thúc. Tâm không thay đổi nên giải thuật dừng. Kết thúc.

1.1.6 Cài đặt thuật tốn với ngơn ngữ R

a. Cài đặt thuật toán với dữ liệu cho trước

Giả sử có 1 file dữ liệu excel cho trước có tên là kmean_data.csv như trong bảng 7.2:

Bảng 7.2 – File dữ liệu minh họa thuật toán kMeans

a1 a2 5.4 3.4 7.9 3.8 5.8 2.7 6.2 2.9 4.4 2.9 5.8 4 6.1 2.8 4.3 3 6.7 3 6.2 3.4 a1 a2 7 3.2 7.2 3.2 6.3 2.9 5.8 2.8 4.8 3.1 1.7 0.2 6.4 2 5.1 1.9 4.3 1.3 1.4 0.2 a1 a2 1.2 0.2 4 1.3 1.1 0.1 5.2 2.3 5.4 2.3 4.7 1.4 6 1.8 5.6 1.8 5.1 2.4 1.6 0.2

Ta tiến hành giải thuật gom cụm kmeans trong R như sau:

Hình 7.1 – Đồ thị phân cụm k-means với tập dữ liệu cho trước

Kết quả ta thu được hình vẽ như hình 7.1:

b. Cài đặt thuật toán với bộ dữ liệu chuẩn Iris

 Cài đặt giải thuật kMeans sử dụng hàm cclust() nằm trong gói thư viện cclust Hàm cclust() có các tham số như sau:

cclust (x, center, iter.max=100, verbose=FALSE, dist=”euclidean”, method=”kmeans”,…)

Giải thích các tham số:

+ x là tập dữ liệu (ma trận) không chứa nhãn phân loại + centers là số nhóm

+ iter.max là số bước lặp tối đa

+ verbose cho phép hiển thị thông tin trong q trình xây dựng mơ hình + dist là độ đo khoảng cách euclidean hoặc manhattan

…: các tham số cịn lại có thể dùng đến

Kết quả trả về của hàm là đối tượng có chứa các trường như: + center: số lượng nhóm

+ initcenters: tâm khởi tạo ngẫu nhiên + cluster: vector chỉ số nhóm của dữ liệu + size: kích thước của các nhóm

+ iter: số lần lặp để có kết quả Chương trình được viết như sau:

Hình 7.2. Ma trận scatterplot 2 chiều cho kết quả gom cụm của k-Mean sử dụng hàm cclust

1.1.7 Kết luận

Giải thuật gom cụm kMeans có một số ưu điểm và nhược điểm như sau:

Ưu điểm: Đơn giản. Cho kết quả dễ hiểu Nhược điểm:

- Số nhóm k ln phải được xác định trước

- Kết quả phụ thuộc vào tham số k

- Khả năng chịu đựng nhiễu không tốt (do ảnh hưởng của các phần tử cá biệt)

- Việc khởi tạo phần tử trung tâm của nhóm ban đầu ảnh hưởng tới sự phân chia đối tượng vào nhóm trong trường hợp dữ liệu khơng lớn

- Khơng xác định được rõ ràng vùng của nhóm, cùng 1 đối tượng, nó có thể được đưa vào nhóm này hoặc nhóm khác khi dung lượng dữ liệu thay đổi.

- Điều kiện khởi tạo có ảnh hưởng lớn đến kết quả. Điều kiện khởi tạo khác nhau có thể cho ra kết quả phân vùng nhóm khác nhau.

- Khơng xác định được mức độ ảnh hưởng của thuộc tính đến q trình tạo nhóm.

Mặc dù có những khuyết điểm trên nhưng trong thực tế giải thuật gom cụm k -Means được sử dụng rất phổ biến do tính đơn giản và dễ hiểu của nó.

Hướng khắc phục:

- Với dữ liệu nhỏ, thuật tốn có thể có những hạn chế. Vì vậy, để khắc phục được những hạn chế trên, nên sử dụng thuật toán kMeans trong trường hợp dữ liệu lớn

- Với những hạn chế về việc phân nhóm, ta có thể dùng phương pháp xác định trung tuyến, trung vị thay vì xác định mean

Hướng phát triển:

- Phát triển giải thuật trong trường hợp các kiểu dữ liệu phức tạp

- Làm tăng tốc độ xử lí

- Xử lí vấn đề các tham số đầu vào của giải thuật

- Diễn dịch kết quả sinh ra

- Phương pháp kiểm chứng chất lượng mơ hình

-

Một phần của tài liệu BÀI GIẢNG HỌC MÁY Ngành Khoa học Máy tính (Trang 92 - 95)